问题标签 [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 回答
3652 浏览

javascript - 如何使用 javascript 加密和解密 Uint8Array?

我想要一个 Uint8Array 的加密和解密,因为我已经从这个链接下载了 CryptoJS 库。

我已经在一个虚拟字符串上测试了 aes 密码算法,它工作正常。

现在我希望它在 Uint8Array 上实现它。这个数组保存了一个视频文件数据。

由于加密和解密适用于字符串,因此我必须将其转换为字符串,因为我已经引用了在 stackoverflow 上发布的这个问题,请单击此处

加密代码是:

但是当我运行代码时,出现以下错误:

我如何使它工作?

0 投票
2 回答
759 浏览

javascript - 如何在 javascript 中重新创建 .net 成员资格 hmacsha1 哈希

我正在尝试在 javascript 函数中从 .net 成员资格提供程序中重现相同的 hmacsha1 哈希和 base64 编码。我试过使用 crypto-js 并得到不同的结果。.net 代码会将“test”散列到“W477AMlLwwJQeAGlPZKiEILr8TA="

这是.net代码

这是我尝试使用不会产生相同输出的crypto-js的javascript方法

如何让我的 javascript 哈希与从 .net 生成的哈希匹配。

0 投票
4 回答
3498 浏览

go - CryptoJS.AES 和 Golang

我已经设法通过 rsa 共享一个随机对称密钥。但是我无法使用它进行 aes 加密。问题似乎是cryptoJS使用的盐和初始化向量。

首先,它的输出如下:

遗憾的是,谷歌搜索重复出现的“U2FsdGVkX”或“cryptoJS.AES 输出”是没有用的。

另一方面,golang 的 aes 只需要一个 32 位的密钥和每个 32 位长度的输入。这意味着我必须以某种方式将上述内容拆分为相应的块并弄清楚如何从密钥和上面的数据(可能包括盐 + 初始化向量)中创建 32 位密钥。

可悲的是, http://code.google.com/p/crypto-js和任何谷歌搜索都没有为我提供解决方案。

顺便说一句 - 我现在的加密:


编辑:在 Base64 响应之后:
感谢 base64 输入。
但是,我仍然无法将其投入使用。
特别是因为编码的字符串以“SALTED”开头,我相信这可能存在问题。

我现在尝试编码的方式:
在客户端上通过以下方式编码:

在服务器上,变量 enc 和 symKey 与客户端相同:

任何的想法?

0 投票
1 回答
5012 浏览

javascript - 带有 Bower 的 CryptoJS,如何管理这种依赖关系?

我需要用 Bower管理CryptoJS 。该项目托管在 code.google.com 上。可以作为zip 文件或通过SVN下载。

Bower 可以下载解压缩的 zip 文件或从 SVN 下载所有组件并将它们放在crypto文件夹中吗?

.bowerrc文件,定义下载文件夹:

我试过这个component.json文件(失败,下载页面本身):

另一个尝试(hmac.js覆盖core.js,它被保存为index.js):

0 投票
1 回答
1704 浏览

javascript - How can I decrypt AES CBC Mode in Hex String?

My task is to decrypt AES-128 in CBC Mode as I already have to encrypted hex string and the key (also in hex). I have tried a simple code like:

The result I get is just a blank word array (in "decrpyted"), can anyone point out that where did i do wrong please?

do I need an additional information such as iv, salt or not?

0 投票
5 回答
94053 浏览

javascript - 如何使用 CryptoJS AES 解密消息。我有一个有效的 Ruby 示例

我可以像这样使用 Ruby 解密 AES 加密消息:

作为 CryptoJS 的新手,我无法组合出可行的替代方案。这是我到目前为止所做的:

CryptoJS 是否以某种不同的方式期望数据、密钥和初始化向量?据我了解,IV 是数据的前 16 个字节。

0 投票
1 回答
390 浏览

php - JavaScript 中的加密和 PHP 中的解密

我想在javascript中加密。在 PHP 中解密。
JavaScript AES 加密库是 CryptoJS。
PHP AES 加密库是 mcrypt。

我得到了不正确的结果。
得到类似'I4��L$�"�"E̹_��zHe����V���:�'的结果。

  • 加密 (JavaScript)

encrypt = CryptoJS.AES.encrypt('HelloWorld', 'test', {mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding });

  • 解密 (PHP)

$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);
mcrypt_decrypt(MCRYPT_RIJNDAEL_256, 'test', $encrypt, MCRYPT_MODE_CBC, $iv);

哪里错了?
谢谢你。

0 投票
2 回答
661 浏览

javascript - Go 中的 AES 编码和 CryptoJS 中的解码

我在 Go 中有这些:

输出:

e0df84c3b83681a8133e1787

我导入以下网址:

我在 JS 中的代码如下:

我做错了什么?

0 投票
0 回答
1570 浏览

node.js - 浏览器中的 NodeJS Crypto createCipher('aes128') 等效项?

服务器代码:

我希望客户端代码(浏览器)具有与上面相同的算法,给定相同的消息和密码,产生与服务器相同的输出。

我尝试CryptoJSSJCL和其他一些库,但是它们使用了ivsalt这使得结果完全不同。在我的情况下,这种安全性是不必要的。

(我不知道到底是什么ivsalt我只是希望代码可以在没有它们的情况下运行。)

更新:我发现如果不正确了解加密本身,以这种方式使用该功能是一个巨大的错误。每个文档

密码用于派生密钥和 IV,它必须是“二进制”编码的字符串或缓冲区。

我要先学习一些基础知识。

0 投票
1 回答
10720 浏览

javascript - 使用 CryptoJS 在 JavaScript 中加密并在 C# 中解密

我正在尝试使用 CryptoJS 在 JavaScript 中加密并在 C# 中解密。花了很多时间试图让这两种技术返回相同的输出。尽管如此,输出还是不同的——CryptoJS 生成的加密字符串与 C# 生成的加密字符串不同。我究竟做错了什么?谢谢您的帮助。