2

出于测试目的,我需要使用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:   }

有没有简单的方法或任何人都可以提供广告示例?

4

1 回答 1

0

构造函数

protected SecureRandom(SecureRandomSpi secureRandomSpi, Provider provider) 

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

public static SecureRandom getInstance(String algorithm)

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

但是,如果您创建了自己的加密算法,只需使用它而不是封装到 SecureRandom API 中。如果它足够好,请确定某些提供商会付钱给您将其添加到其 API 中;D

于 2016-07-12T15:06:20.320 回答