问题标签 [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.

0 投票
2 回答
10689 浏览

javascript - 使用cryptojs解密不起作用

我正在尝试通过 json 向客户端发送加密数据并在客户端使用 cryptojs 对其进行解密

我的 ROR 代码

我的 Javascript 代码

获取 javascript 错误“错误:格式错误的 UTF-8 数据。” 镀铬

下面是上述查询的简化 jsfiddle 的 url

http://jsfiddle.net/7DRdK/1/

0 投票
1 回答
872 浏览

cryptoapi - MS CryptoAPI 给出错误的 RC4 结果?

我正在开发一种产品,该产品需要能够使用使用旧产品创建的文件。其中一些文件包含使用 MS CryptoAPI 以 RC4 加密方式加密的内容。到目前为止,我无法使用其他加密库成功解密内容。经过一些实验,当密钥为 ASCII 时,CryptoAPI 的 RC4 输出似乎是“正确的”(即与其他库一致),但当密钥不是 ASCII(例如密码的哈希值)。

由于我有兴趣消费的所有内容都使用通过哈希从密码派生的密钥加密,所以我现在有点卡住了。我编写了一个小测试来显示包含 3 个测试用例的问题,如下面的代码所示。Botan (C++) 和 CryptoJS (JS) 在输出上总是一致的。但是,MS CryptoAPI 只同意 ASCII 密钥。

在我带着这个问题去 MS 之前,有没有人知道我误解或做错了可能导致这个问题的事情?

另外,我为我残暴的 javascript 道歉。

0 投票
2 回答
1325 浏览

javascript - 客户端 JavaScript 中的 HMAC 和身份欺骗

CryptoJS 具有从消息和密钥创建 HMAC 的功能。

考虑到密钥必须以显而易见的方式存储在客户端上部署的 JavaScript 源代码中,这怎么能保证安全?

任何人都可以以 API 的原始客户端的身份获取密钥并向服务器发出类似的请求。“身份”不是HMAC应该解决的问题吗?

总而言之,我不明白 HMAC 在客户端 JS 中的用途,因为密钥不能保密。

有用 JavaScript 计算 HMAC 的用例吗?

0 投票
1 回答
1463 浏览

ios - CryptoJS 和 iOS 中的 PBKDF2 结果不同

CryptoJS 和 iOS 中的 PBKDF2 结果不同。

这是我的代码

CryptoJS

iOS

有人可以帮忙吗?我做错了什么?

谢谢

0 投票
1 回答
419 浏览

node.js - 在 Meteor 中正确启用 filepicker.io 的安全性

默认情况下,Filepicker 允许几乎每个人都可以将文件添加到您的 S3 存储桶,他们足够聪明,可以将您的 API 密钥从客户端代码中复制出来,幸运的是还提供了一个带有过期策略的安全选项。

但我不知道如何在 Meteor.js 中实现这一点。来回尝试,安装meteor-crypto-base 包,尝试在服务器上生成哈希,在https://github.com/RGBboy/urlsafe-base64上尝试了RGBboy 的urlsafe-base64 算法。但我只是没有进一步。也许有人可以帮忙!先感谢您。

0 投票
1 回答
976 浏览

javascript - Getting 2 different decrypted values from very similar AES implementation using cryptoJS (getting a wrong result value for the 16th char)

I am trying to implement a encryption helper for a project. These are the cryptoJS versions I am using:

And this is how I implemented:

The problem is that I am getting this strange result:

original: texto#a$ser&criptografado! ! ! !

It always change the 16th char of the original text. (Here is a jsfiddle for this test)

And here is another test, with the same lib versions, that is working correctly:

(Here is the jsfiddle for the 2nd version)

The problem is that I dont know why the 2nd version is working and the first one isnt.

I would appreciate if someone could tell me what I am doing wrong in the first one, or if my implementation is all wrong in both versions.

Thanks.

0 投票
0 回答
1076 浏览

javascript - crypto-js DES 加密和填充

我需要 Crypto-JS 对 8 字节块执行 DES 加密(目前)。但是,我在没有填充的情况下在 crypto-js 中实现这一点时遇到了问题。

当我执行:

我没有输出。CBC 模式不需要填充,但我尝试了所有其他块模式(OFB / CFB 等),仍然没有输出。当我使用 Pkcs7 时,它确实提供了一个输出,但它填充了输入块,从而产生了 16 个字节的密码消息。我猜当您指定填充时,即使块大小兼容,它也总是填充?

我是否以正确的方式(通过十六进制解析)指定输入数据?我加密固定大小的原始字节很重要,似乎没有任何例子。

DES加密数据而不填充的正确方法是什么?

0 投票
1 回答
2002 浏览

javascript - 尝试解码 AES-128-CBC 密文时获取空字符串

即使我确定我有正确的数据(通过在线解码器验证),我也只会得到空字符串作为解码器的输出。

这是我的 JavaScript:

data是一个带有密文和 IV 的字符串,均采用 Base64 编码,由 2 个破折号 ('--') 分隔。

我将密文和 IV 的十六进制表示粘贴到这个工具中,以验证我的数据是否正确,这给了我想要的结果。

有人可以帮我解释为什么我从解密函数中得到空字符串(和空字数组)吗?顺便说一句,这段代码我根本没有收到任何错误。

0 投票
1 回答
18003 浏览

encryption - C# 中的 AES 加密和 CryptoJS 中的解密

我想在 C# 中进行 AES 加密并在 CryptoJS 中进行解密。

0 投票
1 回答
522 浏览

encryption - 在 AES 加密中使用带有 NoPadding 的 CBC 是否正确?

我目前正在使用 mcrypt.java 来加密和解密来自服务器端和客户端 cryptojs 的数据,但我遇到了一些问题,因为当我加密任何字符串时,java 和 JavaScript 都会显示不同的结果。

好吧,我正在阅读有关 AES 加密的方法和填充方案的信息,并且一些博客谈论将 CBC 模式与 NoPadding 一起使用是不正确的,并且更好/正确地将 CBC 与 Pkcs7 或其他填充一起使用。

任何人都可以向我解释与此相关的事情吗?