我正在处理一个使用自定义协议加密通信的遗留应用程序。在旧版Java应用程序中,随机生成AES密钥的方法如下:
keygen = KeyGenerator.getInstance("AES");
keygen.init(128);
keygen.generateKey().getEncoded();
我一直在寻找有关加密的解决方案,但没有成功。如何在nodejs上生成此密钥?
我正在处理一个使用自定义协议加密通信的遗留应用程序。在旧版Java应用程序中,随机生成AES密钥的方法如下:
keygen = KeyGenerator.getInstance("AES");
keygen.init(128);
keygen.generateKey().getEncoded();
我一直在寻找有关加密的解决方案,但没有成功。如何在nodejs上生成此密钥?
randomBytes()
和createCipheriv()
。
kgen.init(KEY_SIZE, SecureRandom.getInstance("SHA1PRNG"))
的部分是什么,因为randomBytes()
只支持字节大小作为参数。 - kenshinjiSecureRandom.getInstance("SHA1PRNG"))
。你应该使用new SecureRandom()
或者为了保护长期密钥,使用SecureRandom.getInstanceStrong()
。然而,最终你只会得到一个随机生成器。只需使用普通的randomBytes
或任何其他加密安全的随机数生成器即可。 - Maarten Bodewes