使用CryptoJS解密文件会产生随机结果
Decrypting a file using CryptoJS produces random results
我有一个使用openssl加密的文件,像这样:
openssl enc -aes-256-cbc -in /tmp/file.zip -out /tmp/file.zip.enc -pass pass:"abcdefg" -e -base64
我想使用CryptoJs解密该文件。我从一个FileReader对象加载文件,如下所示:
$("#inputFile").change( function( e )
{
var files = e.target.files; // FileList object
var file = files[0];
var reader = new FileReader();
reader.onload = function( e ){
var result = e.target.result;
var decrypted = CryptoJS.AES.decrypt(result.split(/'s/).join(''), "abcdefg");
var string = CryptoJS.enc.Base64.stringify( decrypted );
console.log( string.substring(0,20) );
};
reader.readAsDataURL( file );
});
每次重新加载页面并加载完全相同的文件时,console.log中的输出都会发生变化。我希望最终将解密的文件转换为Blob并将其返回给用户,但显然,在我能够首先正确解密文件之前,我无法实现这一目标。
您应该先进行64进制解码,然后再解密。不解密,则base64编码。如果您还对密文进行了编码,则仅将encrypt
切换为decrypt
将无法做到这一点。
相关文章:
- for循环中的多个随机结果
- 用javascript添加变量作为随机生成的结果编号
- 随机侮辱生成器(随机化结果)
- Javascript - 从表单中获取复选框值并获取随机结果
- 将随机结果更改为序列
- 使用 AJAX 回调更新挖空可观察数组会生成随机排序的结果
- PHP无限滚动拉取随机结果
- 表单在同一页面上显示结果+随机答案
- 随机分配Dribble API调用结果
- 如何重复使用随机结果
- 防止随后的随机结果在Javascript中重复
- 从Javascript中的两个子数组中获取随机结果
- 使用CryptoJS解密文件会产生随机结果
- 从数组生成随机结果
- 在python "json"字符8192处随机插入逗号;从node.js调用的结果
- 我怎么能预测数学?随机的结果
- 如何使用javascript在一段时间间隔内从数组中获得随机结果
- 如何用Jasmine编写一个随机结果的单元测试?(如掷骰子)
- 如何使用构造函数创建对象并使用Invoked方法返回随机结果
- 你如何创建一个按钮,该按钮将显示来自 javascript 中数组的随机结果