首页 > 解决方案 > 从对象进行 AES-CCM 解密的节点解密

问题描述

我得到了一个具有以下结构的对象:

const encrypted_key = {
    'iv': 'LmckiIdRw==',
    'v': 1,
    'iter': 10000,
    'ks': 256,
    'ts': 64,
    'mode': 'ccm',
    'adata': '',
    'cipher': 'aes',
    'salt': 'UG5/bQ=',
    'ct': 'F8zKwLKMKoQ='
}

我查看了 npm 上的每个库,但没有一个包含此处显示的所有属性。

我将不胜感激有关如何解密此 AES-CCM 对象的 JS 函数或库的任何指导。

谢谢!

标签: javascriptnode.jsencryptionaes

解决方案


这是 SJCL 演示页面的输出,请参见此处。它是 PBKDF2 密码派生属性的组合(采用iter,kssalt.

其余部分用于 CCM 模式解密,除了v仅指示版本 1。CCM 模式解密当然还需要由 PBKDF2 使用前面提到的参数从用户提供的密码导出的密钥。

二进制数据是 base 64 编码的。


推荐阅读