问题标签 [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 投票
1 回答
1561 浏览

node.js - PBKDF2 的所有实现是否应该从相同的输入生成相同的密钥?

我正在将我的 node.js 应用程序的哈希算法从基于 JS 的CryptoJS实现切换到节点自己的加密实现。

这是我的实现:

我注意到的一件事是nodeCryptoKey最终成为32字符长并且 cryptoJSKey 是192. 如果我将keySizefor only 节点的crypto版本增加到144( keySize * 6),则密钥最终192也会变成字符长 - 尽管它仍然不同。

我做错了什么还是实现方式彼此不同?

0 投票
2 回答
11631 浏览

javascript - CryptoJS 和 Pycrypto 一起工作

我正在使用 CryptoJS (v 2.3) 在 Web 应用程序中加密一个字符串,我需要在服务器上用 Python 解密它,所以我使用的是 PyCrypto。我觉得我错过了一些东西,因为我不能让它工作。

这是JS:

蟒蛇:

0 投票
3 回答
11523 浏览

php - php中的AES加密,然后用Javascript(cryptojs)解密

我正在寻找一种方法来对简单文本(5 到 6 个数字和/或字符)进行 2 路加密。问题是我想在 php 中进行加密,然后通过 Javascript 对其进行解密。对于 php,我已经使用 mcrypt_encode 进行了测试并且已经让它工作了,因此当我尝试用 javascript 解密它时(我使用的是 Crypto-js 库 - http://code.google.com/p/crypto-js / ) 我没有得到任何结果。这是我正在使用的 php 代码:

然后这是我正在使用的Javascript代码:

由于我只是在测试,我将 php 的输出直接复制/粘贴到 JS 中,看看它是否会返回任何结果,但这不会发生。由于我是加密/解密部分的新手,我可能会遗漏一些东西。任何建议将不胜感激。

附带说明一下,当我在这里阅读了很多关于使用其他类型的通信来传输数据的建议时,在这种情况下这是不可能的,因为我需要将此字符串传递给第三方软件,这将带来它在一个安全区域,我只能编辑 javascript,这就是为什么我试图加密 php 中的文本并将其放在网站的源代码中,第三方软件将从那里读取它,因为它是加密的并将其转移到安全部分,在那里我需要通过 Javascript 将其解密(我无法访问那里的 php)。

0 投票
1 回答
38551 浏览

javascript - 我的 CryptoJS 加密/解密不起作用

我有一个 JSON 数组的数组,我试图用 CryptoJS 加密其值,然后打印以在另一个文件中使用,这些值应该使用用户给定的密码进行解密。

但是我做错了,在解密 URL 时出现“未捕获的错误:格式错误的 UTF-8 数据”。

加密.js:

解密.js:

我按照这个例子......帮助,漂亮吗?

0 投票
2 回答
733 浏览

web-services - 如何确保使用 jQuery AJAX 发送到 WebService 的数据是通过我的网站而不是某种攻击

我的代码:

如何确保使用 jQuery AJAX 发送到 WebService 的数据是通过我的站点而不是某种攻击。

我对登录有类似的 ajax 调用,我将用户 ID 和密码传递给 Web 服务并进行身份验证。

有没有办法拥有一个一次性的请求响应令牌来确保它是一个有效的 Web 服务调用。

如果我的问题不清楚,请告诉我。

0 投票
1 回答
3548 浏览

javascript - 带有 RC4 的 NodeJS Crypto 产生空白

我有一个生成 RC4 加密字符串的 php 函数。我想使用 Node 解码该字符串 - 最好使用内置的 Crypto 模块。但我不能这样做 - 我只是得到一个空白字符串。

PHP 代码在这里http://code.google.com/p/rc4crypt/

我的 JS 代码是

我没有得到任何输出。我已经使用 openssl list-message-digest-algorithms 检查了我的 OpenSSL 实现是否具有 RC4

我在 OSX 10.8 上,最新节点。

我愿意使用另一个模块来解密 - 我尝试了 cryptojs 模块,但没有弄清楚如何让它工作 - 当我尝试 RC4 时给了我错误。

谢谢

0 投票
1 回答
3866 浏览

javascript - 如何从 JMeter 调用外部 JavaScript 文件方法

我正在尝试为我正在构建的 SOAP/XML-RPC JMeter 请求生成 HMAC SHA256 签名。我找到了一个可以为我解决问题的 JavaScript 库:

http://code.google.com/p/crypto-js/#HMAC

问题是我找不到从 JMeter 调用外部 JavaScript 文件方法的方法。

任何帮助都将不胜感激,或者对执行任务的替代方法提出建议。

0 投票
4 回答
14035 浏览

javascript - nodejs 加密模块 vs crypto-js

我对 NodeJs 很陌生,并试图弄清楚如何使用“加密”模块。在玩弄它时,我注意到 NodeJs 和 crypto-js 中的“crypto”模块之间的区别:

使用 crypto-js,我有:

然后调用:

并接收:

使用“加密”模块,我写道:

然后调用:

并收到:

前两项相同,但第三项不同。我错过了什么吗?

已编辑:当我与 Jasypt 进行比较时,CryptoJs 会生成类似的密钥。我的问题是如何调整“加密”模块以使其生成与 CryptoJS 和 Jasypt 相同的密钥。

0 投票
2 回答
9948 浏览

javascript - 如何在 javascript 中的文件(二进制文件,如图像)上使用 Sha256?

我正在尝试对 Javascript 中的文件执行 Sha256。我使用FileReader(HTML5)读取文件。我使用 FileReader 中的 readAsBinaryString 函数传入图像文件。然后在 FileReader.onload 函数上,我将 evt.target.result 传递给CryptoJs API中的 SHA256 方法。我能够成功获得哈希值,但它不正确。当我传入一个文本文件时,它工作正常,但不是图像文件。

代码(应该能够将下面的代码复制到 HTML 文件并在 firefox 上运行 - 按“整个文件”按钮):

示例输出:

  1. 测试“文本”文件:

    • Javascript生成的SHA256:
      78cb5e86455dc8e3bc20fe17e0213a938281216d57b31f8307f5bca67c37bb09
    • 由cygwin在同一文件上生成的SHA256:
      $ sha256sum Phillips.txt 78cb5e86455dc8e3bc20fe17e0213a938281216d57b31f8307f5bca67c37bb09 *SomeTestFile.txt
  2. 测试“二进制”文件(pdf):

    • Javascript生成的SHA256:
      57f93c1d20a8ad8ade984a1d9756c1a40600bd8a7527601945c4e0b5e042c605
    • 由 cygwin 在同一文件上生成的 SHA256:
      $ sha256sum Smoke\ Detector\ Brochure.pdf 57f93c1d20a8ad8ade984a1d9756c1a40600bd8a7527601945c4e0b5e042c605 *Smoke Detector Brochure.pdf
0 投票
1 回答
2006 浏览

c# - 如何使用 JavaScript 解密 AesCryptoServiceProvider?

我正在使用MSDNEncryptStringToBytes_Aes中的方法使用自定义密码加密一些数据,如下所示:

它有效(DecryptStringFromBytes_Aes返回原始字符串)。

encrypted我的问题是,如果我在客户端也有相同的密码,如何使用 JavaScript 解密?我尝试使用CryptoJS 对其进行解密,但没有成功。数据在网络服务中被加密,我尝试将其作为字节数组、字符串传递给 JS,尝试使用各种编码对其进行编码,但无论我做什么,我都无法获得原始字符串。我在这里做错了什么,我该如何完成这项工作?它甚至可以这样吗?saltArray 编码甚至自定义密码的使用是否会导致我的问题?

例如,这是我的 JS 尝试之一(使用 base64 编码):

(编辑:我打算稍后实施随机盐,一旦我得到了其他所有东西,因为这样更容易跟踪发生了什么)