...
Code Block |
---|
|
import java.util.Random;
// ...
Random number = new Random(123L);
//...
for (int i=0; i<i<20;20; i++) {
// generate another random integer in the range [0, 20]
int n = number.nextInt(21);
System.out.println(n);
}
|
...
Code Block |
---|
|
import java.security.SecureRandom;
import java.security.NoSuchAlgorithmException;
// ...
public static void main (String args[]) {
try {
SecureRandom number = SecureRandom.getInstance("SHA1PRNG""SHA1PRNG");
// Generate 20 integers 0..20
for (int i = 0; i << 20; i++) {
System.out.println(number.nextInt(21));
}
}
catch (NoSuchAlgorithmException nsae) {
// Forward to handler
}
}
|
...
Code Block |
---|
|
import java.util.Random;
// ...
Random number = new Random();
int n;
//...
for (int i=0; i<20i<20; i++) {
// Re-seed generator
number = new Random();
// Generate another random integer in the range [0, 20]
n = number.nextInt(21);
System.out.println(n);
}
|
...
Wiki Markup |
---|
\[[API 06|https://www.securecoding.cert.org/confluence/display/java/AA.+Java+References#AA.JavaReferences-API06]\]&nbsp;[Class Random|http://java.sun.com/javase/6/docs/api/java/util/Random.html]
\[[API 06|https://www.securecoding.cert.org/confluence/display/java/AA.+Java+References#AA.JavaReferences-API06]\] [Class SecureRandom|http://java.sun.com/javase/6/docs/api/java/security/SecureRandom.html]
\[[Find Bugs 08|https://www.securecoding.cert.org/confluence/display/java/AA.+Java+References#AA.JavaReferences-FindBugs08]\] BC: Random objects created and used only once
\[[Monsch 06|AA. Java References#Monsch 06]\]
\[[MITRE 09|AA. Java References#MITRE 09]\] [CWE ID 330|http://cwe.mitre.org/data/definitions/330.html] ""Use of Insufficiently Random Values"", [CWE ID 327 |http://cwe.mitre.org/data/definitions/327.html], ""Use of a Broken or Risky Cryptographic Algorithm,"" [CWE ID 330|http://cwe.mitre.org/data/definitions/330.html], ""Use of Insufficiently Random Values"", [CWE ID 333| http://cwe.mitre.org/data/definitions/333.html] ""Failure to Handle Insufficient Entropy in TRNG"", [CWE ID 332|http://cwe.mitre.org/data/definitions/332.html] ""Insufficient Entropy in PRNG"", [CWE ID 337|http://cwe.mitre.org/data/definitions/337.html] ""Predictable Seed in PRNG"", [CWE ID 336|http://cwe.mitre.org/data/definitions/336.html] ""Same Seed in PRNG"" |
...
MSC07MSC09-J. Do not assume infinite heap space use insecure or weak cryptographic algorithms 49. Miscellaneous (MSC) MSC31-J. Never hardcode sensitive information