2017-03-02 26 views
0

我需要编写一个随机数生成器,它使用FIPS 140-2兼容/认证算法。我很难找到任何对我有用的东西。任何人之前做过?我不想为此付出胳膊和腿。符合FIPS 140-2标准的随机数生成器 - Java

使用Java 8开发环境是Mac OSX和服务器的CentOS 7

UPDATE:

代码如下所示日期。

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()); 
} 

}

+1

你封锁了哪里?你目前写了什么? (请发布您的代码,以便我们可以提供准确的帮助) – Adonis

+1

算法可以符合FIPS,实现可以通过FIPS认证(这意味着它可以通过所有测试向量,启动测试等) –

+0

您是否阅读过Javadoc for' SecureRandom'? – chrylis

回答