SecureRandom自定义算法

时间:2016-07-12 14:01:43

标签: java random secure-random

出于测试目的,我需要将SecureRandom与自定义算法一起使用。怎么可能?

我想我必须继承SecureRandom并提供SecureRandomSpi自定义实现:

 167:   /**
 168:      A constructor for SecureRandom. It constructs a new 
 169:      SecureRandom using the specified SecureRandomSpi from
 170:      the specified security provier. 
 171: 
 172:      @param secureRandomSpi A SecureRandomSpi class
 173:      @param provider A Provider class
 174:    */
 175:   protected SecureRandom(SecureRandomSpi secureRandomSpi, Provider provider)
 176:   {
 177:     this(secureRandomSpi, provider, "unknown");
 178:   }

是否有简单的方式或任何人都可以提供广告示例?

1 个答案:

答案 0 :(得分:0)

构造函数

protected SecureRandom(SecureRandomSpi secureRandomSpi, Provider provider) 

受到保护,您不应该使用它。改为使用

public static SecureRandom getInstance(String algorithm)

如果您已经定义了自己的算法,则必须创建一个提供程序并注册它,这样当您指定算法的名称时,jre就可以找到它。但是你可能想要使用existig。

但是,如果您已经创建了自己的加密算法,则只需使用它而不是封装到SecureRandom API中。如果确实有好的话,某些提供商会向您付款以将其添加到其API中; D