擅长:python、mysql、java
<p>首先,您需要分解您的问题:消息发送和加密/解密应该分开测试。你知道吗</p>
<p>如果使用<code>createCipher</code>和<code>createDecipher</code>,则必须提供密码,而不是密钥。对密码进行预处理以创建密钥,但是密钥显然不同于客户端密钥,在尝试解密时会给您带来垃圾。您需要使用<code>createCipheriv</code>或<code>createDecipheriv</code>来使用密钥。然而,上次我检查时,ECB不能很好地使用这些方法。无论如何,使用需要IV的密码模式可能是个好主意;像AES-GCM这样的经过身份验证的模式将是最有益的。你知道吗</p>
<p><code>setAutoPadding(false)</code>调用应该不是必需的。如果您禁用它,可能是因为解密失败,然后解密结果没有意义。你知道吗</p>
<p>请注意,在节点.js这个包裹很危险。您应该为每个要加密/解密的消息重新创建密码对象。你知道吗</p>