javascript - 如何使用 Closure-Library 进行 AES 编码?

标签 javascript cryptography aes google-closure-library cryptojs

我想使用 Closure-Library 通过 AES 对数据进行编码。

在研究图书馆时,我发现了这个 aes-test:https://github.com/google/closure-library/blob/master/closure/goog/crypt/aes_test.jsthe implementation并带有以下警告:

WARNING: This is ECB mode only. If you are encrypting something longer than 16 bytes, or encrypting more than one value with the same key (so basically, always) you need to use this with a block cipher mode of operation. See goog.crypt.Cbc.

我想知道如何使用这个库通过 AES 算法对更大的 block 进行编码。

我想使用 IV,就像这个 CryptoJS 示例一样:

var encoded = CryptoJS.AES.decrypt(DATA, KEY, IV);

我还可以使用端到端库 ( https://code.google.com/p/end-to-end/source/browse/javascript/crypto/e2e#e2e%2Fsymmetric ) 的一部分,它也提供 aes 加密。但是,我也不知道如何使用此实现。

最佳答案

您指定的 CryptoJS 解密调用以及 crypt.Cbc 中的代码都使用 CBC 操作模式。不应使用 ECB 模式。尝试实现 CBC,如果遇到困难,请提出一个具体的新问题。

关于javascript - 如何使用 Closure-Library 进行 AES 编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25894487/

相关文章:

javascript - 嵌套递归数组循环

encryption - 压缩和加密时,应该先压缩,还是先加密?

java - 在 Dart 中解密 Java AES 编码的字符串

node.js - 如何解密在 nodejs 中加密的 golang 中的 AES256 位密码?

java - 如何使用 Bouncy CaSTLe 在 Java 中编辑密码套件列表

c++ - 密码保护嵌入式固件下载

php - Laravel AES-256加密和MySQL

javascript - 我如何保存文本框中的输入然后移至下一页? (Javascript/HTML)

javascript - jQuery 轮播 "this"上下文未传递到 .animate 回调中

javascript - angular2-tree-component 默认不展开