OpenJDK 1.6和SecureRandom/KeyGenerator(可用的是什么?)



以下所有结果都是"java.security.NoSuchAlgorithmException: SHA not SecureRandom available"(或类似)。

SecureRandom prng = SecureRandom.getInstance("SHA256");
SecureRandom prng = SecureRandom.getInstance("SHA-256");
SecureRandom prng = SecureRandom.getInstance("SHA1");
SecureRandom prng = SecureRandom.getInstance("SHA-1");
SecureRandom prng = SecureRandom.getInstance("SHA");

类似于以下("java.security.NoSuchAlgorithmException: SHA KeyGenerator not available"):

KeyGenerator kgen = KeyGenerator.getInstance("SHA256");
KeyGenerator kgen = KeyGenerator.getInstance("SHA-256");
KeyGenerator kgen = KeyGenerator.getInstance("SHA1");
KeyGenerator kgen = KeyGenerator.getInstance("SHA-1");
KeyGenerator kgen = KeyGenerator.getInstance("SHA");

OpenJDK中有哪些可用的生成器?根据标准算法名称,看起来SHA系列应该是可用的(至少对于SecureRandom)。

很抱歉这个蹩脚的Java问题。我是一个Crypto++和OpenSSL类型的人,谷歌正在返回很多噪音。如果需要的话,我正在用Eclipse工作。

杰夫

我想这会对你有帮助。

http://www.java2s.com/Code/Java/Security/ListAllProviderAndItsAlgorithms.htm

检查它。祝你好运!

KeyGenerator有文档。SHA*是散列,而不是加密算法。在KeyGenerator上下文中使用SHA*几乎没有意义。

对于SecureRandom(顺便说一下,它也有文档),你最好不要指定算法,除非你有特定的需求,并且你知道你在做什么(就像你知道你正在尝试使用的提供商)

我能想到的唯一联系是Sun JCE secuerrandom实际上在底层使用SHA1PRNG。

相关内容

  • 没有找到相关文章

最新更新