javascript - 从对象进行 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 函数或库的任何指导。
谢谢!
解决方案
这是 SJCL 演示页面的输出,请参见此处。它是 PBKDF2 密码派生属性的组合(采用iter
,ks
和salt
.
其余部分用于 CCM 模式解密,除了v
仅指示版本 1。CCM 模式解密当然还需要由 PBKDF2 使用前面提到的参数从用户提供的密码导出的密钥。
二进制数据是 base 64 编码的。
推荐阅读
- c# - AWS .Net Core Serverless Web API - 调用另一个 Web API
- php - Laravel WithCount 使用 where
- java - 为什么子类在向上转换时会响应?
- android - 当宽度和高度设置为 0dp 时,回收站视图不呈现
- javascript - 从 Nashorn 到 Graaljs
- android - MPChart 绘制值自定义 - 水平堆积条形图
- php - Laravel 编辑记录动态方式
- ruby-on-rails - 如何在没有资源的情况下使用 Rails 路由,仅使用 id
- android - 如何在可绘制的android中添加内阴影效果?
- javascript - 如何在 jquery 中创建导航选项卡下一个按钮验证我必须验证特定字段