Java SecureRandom SHA1PRNG算法生成字串原理?

新手上路,请多包涵

java生成秘钥的代码在网上很多上都是这么实现

SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(key.getBytes());
keygen.init(128, secureRandom);

当用别的语言来解密时候,也经常看到说 SHA1PRNG 对应实现就是把key做两次sha1就可以,比如这些

  1. https://blog.csdn.net/max229m...
  2. https://segmentfault.com/a/11...
  3. https://github.com/starmcc/AE...
// sha两次就得 java SHA1PRNG 对应值
CryptoJS.SHA1(CryptoJS.SHA1(key)).toString().substring(0, 32)

但我从来没看到这个说法的出处,而且看java 的 SHA1PRNG也没太看懂,想请教有经验的人这是为什么?

阅读 5.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏