1
我想学习的JavaScript和我正在学习一个教程,我想我输入正确的一切,但由于某种原因我使用cypto-js库加密的字符串不能未加密正确。我没有收到错误,但未加密的字符串不正确。我使用的是Macintosh和“crypto-js”:“^ 3.1.5”。JavaScript的加密库不能加密和解密一个简单的例子程序中的字符串
这是我的示例代码。
var crypto = require('crypto-js');
var secretMessage = 'I hid the chips under the couch.';
var secretKey = '123abc';
var encryptedMessage = crypto.AES.encrypt(secretMessage, secretKey);
console.log('encryptedMessage: ' + encryptedMessage);
var bytes = crypto.AES.decrypt(encryptedMessage, secretKey);
var decryptedMessage = bytes.toString(crypto.enc.utf8);
console.log('decrpt2: ' + decryptedMessage);
这里是我得到
$ node example-encryption.js
encryptedMessage: U2FsdGVkX180KTEpMiLEjZDSAkhNkmbBuRa9RXFwCgx6gA/PUFr+KOIv6Gr6TgIYrkfUu3F+OM/kRJ3sTTgsfg==
decrpt2: 49206869642074686520636869707320756e6465722074686520636f7563682e
能有人帮的结果?
感谢, 格雷格
呃,它是'crypto.enc.Utf8'而不是'crypto.enc.utf8'。你传递的是未定义的,这会导致默认编码,即Hex。 –
我很好奇,为什么不使用内置的'crypto'模块? – mscdex
一个字母变化产生了差异。谢谢。 –