LEFT | RIGHT |
1 // Copyright 2010 The Go Authors. All rights reserved. | 1 // Copyright 2010 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 //build darwin freebsd linux openbsd | 5 // +build darwin freebsd linux openbsd |
6 | 6 |
7 // Unix cryptographically secure pseudorandom number | 7 // Unix cryptographically secure pseudorandom number |
8 // generator. | 8 // generator. |
9 | 9 |
10 package rand | 10 package rand |
11 | 11 |
12 import ( | 12 import ( |
13 "bufio" | 13 "bufio" |
14 "crypto/aes" | 14 "crypto/aes" |
15 "io" | 15 "io" |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 r.seed[i] = r.time[i] ^ r.dst[i] | 118 r.seed[i] = r.time[i] ^ r.dst[i] |
119 } | 119 } |
120 r.cipher.Encrypt(r.seed[0:], r.seed[0:]) | 120 r.cipher.Encrypt(r.seed[0:], r.seed[0:]) |
121 | 121 |
122 m := copy(b, r.dst[0:]) | 122 m := copy(b, r.dst[0:]) |
123 b = b[m:] | 123 b = b[m:] |
124 } | 124 } |
125 | 125 |
126 return n, nil | 126 return n, nil |
127 } | 127 } |
LEFT | RIGHT |