java - 在 Node 上生成 AES key

标签 java node.js cryptography aes

我正在处理一个使用自定义协议(protocol)来加密通信的遗留应用程序。随机 AES key 在遗留 Java 应用程序中生成,如下所示:

keygen = KeyGenerator.getInstance("AES");
keygen.init(128);
keygen.generateKey().getEncoded();

我一直在 crypto 上寻找解决方案没有运气。我如何在 nodejs 上生成这个 key ?

最佳答案

该代码可能没有您想象的那么多。它只是生成 16 (128/8) 个安全随机字节,然后将一个 key 对象包裹在它周围。因此,对于 nodejs,您只需生成 16 个字节并将原始 key 数据提供给算法。

如果要使用生成的 key ,请确保从 getEncoded() 方法返回的字节创建二进制编码字符串或缓冲区。如果您需要 key 是过程中某处的文本字符串,则可以使用十六进制编码/解码。

参见 randomBytes()createCipheriv()以供引用。

AES key 只是加密强度高的随机字节,DES(奇偶校验位)和 RSA(素数计算) key 不是。

关于java - 在 Node 上生成 AES key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21367907/

相关文章:

java - 获取 Swing 组件的适当尺寸

java - 引用的工作

c# - 如何存储/检索 RSA 公钥/私钥

javascript - child_process.exec 与外部 EXE 文件同步

encryption - 在 OpenSSL 命令中选择不同的填充模式

c# - 如何在我的盐和哈希代码中使用 SHA-512 和 Rfc2898DeriveBytes?

java - IntelliJ 仍然截断输出

java - 使用 java 1.6 时在 tomcat 上出现错误 filterStart

javascript - 在 Windows 10 中使用 NodeJS 在本地运行异步函数

javascript - 了解 Mongoose 子文档