问题标签 [cryptojs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 将 CryptoJS 的 CryptoMD5 状态保存为字符串并稍后恢复
在上传过程中,我逐渐计算了一个大文件的 MD5 哈希值,然后在某个时候我想将localStorage
我目前计算的内容保存到 HTML5 中,以便稍后恢复。
据我所知,localStorage
可以存储字符串,所以我必须将渐进式 MD5 值存储为字符串,然后在用户稍后打开浏览器时恢复它们。
基本上我的代码如下所示:
此时,我想转换md5_full
为字符串,以便能够保存到localStorage
. 然后,稍后,当用户想要恢复上传时,能够检索md5_full
from localStorage
,取消字符串化,并继续使用块更新它。
最后,我应该能够调用md5_full.finalize();
以获取最终的完整 MD5 哈希摘要。
c# - CryptoJS AES 代码等价于 c# 代码
下面是一个有效的 c# 密码学代码。
包含的命名空间参考
用于编码 json 格式用户数据的 C# 代码
注意:json_data 字符串就像..
{"email":"chandresh@domainname.com","name":"chandresh","expires":"2013-07-05T11:47:32"}
我尝试编写与上述 C# 工作代码等效的 CryptoJS 代码。
不知何故,完成的加密/编码不是有效的编码数据。请帮忙
php - JavaScript 中的 PHP 函数 crypt()
在服务器端,我创建了一个密码哈希:
在客户端,我想使用 CryptoJS 做同样的事情。javascript中是否有PHP crypt()的类似物,CryptoJS不需要?
UPD: 我想在客户端执行此操作,因为我不想将密码发送到服务器,而是使用哈希加密的 clientId 之类的东西,在服务器上对其进行解密并获取哈希以进行下一次操作。
c# - 将cryptojs与c#hmacsha512匹配
为什么我的 HMAC 不同?
我在这里创建了一个 Visual Studio 2012 解决方案:https ://github.com/tonyeung/hmacsha512
我的js
我的C#
结果:
java - CryptoJS AES 加密和 JAVA AES 解密值不匹配
我在客户端使用 CryptoJS AES 算法加密文本,我在 Java 的服务器端解密它,我得到了异常。
JS代码:
js输出:
Java 代码:
例外是:
我在这里做错了什么还是有其他简单的方法来进行这种加密和解密?
blob - 如何使用 CryptoJS 获得 BLOB 的正确 SHA1 哈希?
CryptoJS v3.1.2,sha1.js 汇总
在 JS 中,我想在将 blob 发送到服务器之前计算它的 SHA1。在服务器上,我想计算结果文件的 SHA1 并将其与从 JS 接收到的 SHA1 进行比较。问题是 CryptoJS.SHA1() 生成的哈希不正确(总是 9844f81e1408f6ecb932137d33bed7cfdcf518a3)
JS代码:
PHP代码:
输出:
无效的 CRC:9844f81e1408f6ecb932137d33bed7cfdcf518a3(预期为 3ebe2cd2d8fd8d8f977b6d715f0b1adf5b08b407
我希望有类似 myHash = CryptoJS.SHA1(blob)
javascript - RNCryptor IOS + Javascript加密/解密AES 256
我是加密新手,我正在尝试通过 websockets 将一些对称加密使用 AES256 从移动应用程序传输到网页。
I 使用 RNCryptor 默认设置加密数据
IOS代码
这是通过 websocket 输出的输出 AgEBnXPPvAkJb7YVapwCVNd5SQw4JwqU7BfLsEXNZyKy9SazfJT8w16Y/hYY7aKxuz3Kuy2tAXXX/cHCc3PMhvG+fzSfrslRVMKvD6L+oWvXLg==
JAVASCRIPT 代码 - 我收到消息并尝试解析并显示它
由于某种原因,代码在生成密钥时卡住了(可能 10k 次迭代对于 CryptoJS 来说太多了???这就是 IOS 上使用的迭代)
我已经尝试了很多不同的东西,输出是垃圾,我实际上并没有解密消息。任何帮助将不胜感激。如果您要推荐 SJCL,请提供一些代码。RNCryptor 使用自己的消息格式。我使用它是因为它提供了随机静脉注射。如果您也知道任何图书馆,请推荐一个不同的图书馆。
谢谢阅读。
azure-storage - CryptoJS (HMAC Sha256) 输出不正确?
首先让我说我不是密码算法方面的专家......
我正在尝试构建一种为 Windows Azure 格式化 HTTP 标头的方法 - 此标头需要通过 HMAC 使用 SHA256 加密其部分消息(然后还进行 base64 编码)。
我选择使用CryptoJS是因为它有一个活跃的用户社区。
首先,我的代码:
该方法成功地返回一个“签名”,并带有适当的加密/编码片段。但是,Azure 抱怨它的格式不正确。
一些示例输出:
做一些调试,我注意到 CryptoJS 没有返回相同的值(带有 SHA256 的 HMAC)作为替代实现。例如,字符串“ Mon, 29 Jul 2013 16:04:20 GMT\n/senchaazurestorage/Tables ”显示为:
- “ 6723ace2ec7b0348e1270ccbaab802bfa5c1bbdddd108aece88c739051a8a767 ” 通过 CryptoJS
- “ faa89f45ef029c63d04b8522d07c54024ae711924822c402b2d387d05398fc9f ” 通过 PHP hash_hmac('sha256', ... )
更深入地挖掘,我看到大多数 HMAC/SHA265 算法返回的数据与 PHP 的输出相匹配……我在 CryptoJS 中遗漏了什么吗?还是有合法的区别?
c# - 使用非标准密钥长度调用 CryptoJS.AES.encrypt/decrypt 时如何处理 AES 密钥?
我目前在解密 C# 中的项目时遇到问题,这些项目已使用长度不是 128、192 或 256 位的密钥在 CryptoJS 中加密。CryptoJS 允许在加密/解密期间使用“奇数”长度的密钥,但 C# 中的对称算法类(例如RijndaelManaged
)不允许这样做。
Javascript
C#
我的问题是 javascript 代码中的密钥究竟会发生什么以允许它用于加密/解密?填充?截断?CryptoJS 中的 AES 实现是否调整为使用“奇数”密钥长度?
我尝试通过截断或填充(开头和结尾)字节数组来调整 C# 代码的键,但无济于事。我对 javascript 语法不是很熟悉,并且查看了 CryptoJS 源代码,但对正在发生的事情并不了解。