作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Sjcl我尝试编写一个小服务,从我的 javascript 应用程序发送和接收加密数据。
可悲的是,sjcl documentation缺少有关如何处理其 AES
加密数据的信息。他们的encrypt method返回一个包含服务器属性的对象,我只能猜测它是什么。
{"iv":"i0t5BttfXwtY6hxuFSZxJg==",
"v":1,
"iter":1000,
"ks":128,
"ts":64,
"mode":"ccm",
"cipher":"aes",
"salt":"MZ8hpbz+5hU=",
"ct":"n5mR5jwawYwsaUV0xbcYXrcCXPWjR5qMG23qU5Spguz4jpjG5QdFMWSf"}
我可以识别iter
, ks
, ts
, mode
, cipher
和盐
。我的猜测是 ct
是密文,代表加密数据。但是什么是 v
和 iv
?
我尝试解密我的密文,将 ct
作为参数,甚至尝试将整个结果作为参数,但它总是会产生错误:
var result = sjcl.json.encrypt(
'pw123',
'{text: "this should be decrypted"}',
parameters,
rp
);
var originalText = sjcl.json.decrypt(
'pw123',
result.ct,
parameters,
rp);
// Results in:
// Uncaught TypeError: Cannot read property 'replace' of undefined
我如何使用他们的 decrypt 解密我的 ct
方法?任何人都有这方面的经验并可以举一个简短的例子吗?
最佳答案
加密/解密使用默认参数:
var result = sjcl.json.encrypt(
'pw123',
'{text: "this should be decrypted"}'
);
var originalText = sjcl.json.decrypt(
'pw123',
result);
But what is
v
andiv
?
v
可能是密文的版本信息,以便更高版本的 SJCL 可以解密它。它被简单地设置为 1 并且从未在 code 中使用过.
iv
是大多数分组密码模式(如 CCM)所需的初始化向量。对于 AES,它是 16 个字节长或只是 block 大小。
关于javascript - SJCL "Cannot read property ' 替换'未定义'的问题”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28364434/
我是一名优秀的程序员,十分优秀!