如何在 JavaScript 中使用 CryptoJS

新手上路,请多包涵

我使用 CryptoJS 而不是 nodejs 加密模块,因为我只使用原生 JavaScript,但有些代码无法运行:

 function aesEncrypt(text, secKey) {
  const _text = text
  const lv = new Buffer('0102030405060708', 'binary')
  const _secKey = new Buffer(secKey, 'binary')
  const cipher = crypto.createCipheriv('AES-128-CBC', _secKey, lv)
  let encrypted = cipher.update(_text, 'utf8', 'base64')
  encrypted += cipher.final('base64')
  return encrypted
}

那么我应该如何修改这些代码呢?

原文由 zhaowweny 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 832
1 个回答

以下是有关如何在 webclient 中使用 CryptoJs 的示例:

 // INIT
var myString   = "blablabla Card game bla";
var myPassword = "myPassword";

// PROCESS
var encrypted = CryptoJS.AES.encrypt(myString, myPassword);
var decrypted = CryptoJS.AES.decrypt(encrypted, myPassword);
document.getElementById("demo0").innerHTML = myString;
document.getElementById("demo1").innerHTML = encrypted;
document.getElementById("demo2").innerHTML = decrypted;
document.getElementById("demo3").innerHTML = decrypted.toString(CryptoJS.enc.Utf8);
 <head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>
</head>


  <strong><label>Original String:</label></strong>
  <span id="demo0"></span>

  <br>
  <br>

  <strong><label>Encrypted:</label></strong>
  <span id="demo1"></span>

  <br>
  <br>

  <strong><label>Decrypted:</label></strong>
  <span id="demo2"></span>

  <br>
  <br>

  <strong><label>String after Decryption:</label></strong>
  <span id="demo3"></span>


  <br />
  <br />

注意:

如果不想使用节点模块,则可能需要使用 CDN。

原文由 Melchia 发布,翻译遵循 CC BY-SA 4.0 许可协议

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