Je dois écrire un générateur de nombres aléatoires qui utilise un algorithme conforme à la norme FIPS 140-2. J'ai du mal à trouver tout ce qui va marcher pour moi. Quelqu'un l'a fait avant? Je ne veux pas payer un bras et une jambe pour le faire.Générateur de nombres aléatoires compatibles FIPS 140-2 - Java
Utilisation de Java 8. Environnement de développement est Mac OS X et les serveurs sont CentOS 7.
MISE À JOUR:
coderessemble à ceci à ce jour.
import java.security.SecureRandom;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.LongStream;
public class LongRandom {
public LongRandom(){}
private Long minLong = new Long("1000000000000000000");
public List<Long> getRandomLongList(int numberOfRandom){
final SecureRandom random = new SecureRandom();
LongStream longs = random.longs(numberOfRandom, minLong, Long.MAX_VALUE).distinct();
long[] arrayLong = longs.toArray();
List<Long> list = Arrays.stream(arrayLong).boxed().collect(Collectors.toList());
return list;
}
public Long getRandomLongWinner(List<Long> potentialWinners){
final SecureRandom random = new SecureRandom();
Collections.shuffle(potentialWinners,random);
IntStream ints = random.ints(1,0,(potentialWinners.size() - 1));
return potentialWinners.get(ints.findFirst().getAsInt());
}
}
Où êtes-vous bloqué? Qu'avez-vous écrit en ce moment? (veuillez poster votre code afin que nous puissions vous fournir une aide précise) – Adonis
Un algorithme peut être conforme à la norme FIPS, une implémentation peut être certifiée FIPS (ce qui signifie qu'il passe tous les vecteurs de test, les tests de démarrage, etc.) –
Avez-vous lu le Javadoc? SecureRandom'? – chrylis