问题标签 [sjcl]

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 回答
1370 浏览

javascript - 如何使用斯坦福 PRNG 生成随机字符串?

我需要在用户浏览器中生成一个安全的 50 个字符的随机字符串。

sjcl.prng 到目前为止我已经得到了这个:

移动鼠标一段时间后,我得到一个像这样的字节数组:[-579285364, 1099191484, 94979086, -1572161987, -570940948].

但我正在寻找的是一个 50 个字符的字母数字字符串。我对这个主题的了解有限,我在这里寻求帮助。

0 投票
3 回答
1520 浏览

android - 在 Android 中解密 SJCL 加密字符串

我有一个由 SJCL 服务器端加密的字符串,需要在 Android 中使用任何可用的库进行解密。我尝试了 BouncyCastle,直到遇到无法从 PBKDF2 生成密钥的问题。现在我正在使用 SpongyCastle,但我仍然遇到问题。到目前为止,这是我生成密钥和解密字符串的代码:

这是我在函数中调用它的方式:

decodedObject 是 SJCL 在通过具有 UTF-8 的 JsonParser 运行并进行 Base64 解码后的字符串。我拿了它,用密码通过SJCL Demo运行它,解密字符串没问题。我必须在这里遗漏一些简单的东西。

我得到的错误是在 cipher.doFinal 步骤上,如下所示:

我不认为 SJCL 在他们的密码上使用没有填充,所以我尝试在 getInstance 上使用“AES/CCM/PKCS5Padding”,但后来出现了这个错误:

TLDR:我正在寻找在 Android 中解密 SJCL 字符串的最简单方法。建议将不胜感激。

谢谢!

0 投票
1 回答
106 浏览

javascript - 读取长文件并使用nodejs进行crypt

这是我的第一个问题。英语不是我的第一语言。我有一个包含大约 800K 行的文件。我必须使用 sjcl 库读取和加密它们。到现在为止,我唯一做的就是这几行:

它可以工作,但这非常慢(10 行/秒)。有什么方法可以加快这个过程吗?

0 投票
0 回答
96 浏览

models - 钛合金型号

我正在使用钛合金模型,并希望在存储到模型之前加密密码并在获取密码时解密。我希望模型返回这样的数据。

0 投票
1 回答
2076 浏览

javascript - 使用 SJCL 客户端加密文件

我在使用 SJCL 和 javascript 加密文件时遇到问题。

我已经设法使用 FileReader API 和 readAsBinaryString 加密文本文件。在加密 pdf/png/.. 时,问题可能是由于编码引起的。

我发现我可以使用非常适合这个任务的 readAsArrayBuffer,所以我基本上是读取文件并创建新的类型化数组,new Uint8Array()但我不知道我应该如何加密这样的数据。

这是我的代码:

我收到错误

我需要知道如何加密uint8array或另一种如何加密(pdf/png/..)文件。

0 投票
2 回答
938 浏览

javascript - Problems with SJCL "Cannot read property 'replace' of undefined"

Using Sjcl i try to write a little service sending and receiving encrypted data from my javascript application.

Sadly, the sjcl documentation is lacking information on how to process their AES encrypted data. Their encrypt method returns an object containing serveral attributes of which i can only guess what is what.

I can identify iter, ks, ts, mode, cipher and salt. My guess is that ct is the cipher text, representing the encrypted data. But what is v and iv?

I tried decrypting my cipher text giving ct as a parameter and even tried giving the whole result as a parameter but it always just produces errors:

How do i decrypt my ct using their decrypt method? Anyone any experience with this and can give a brief example?

0 投票
1 回答
240 浏览

cryptography - SJCL.random.startCollectors() 是自动的吗?

如果我导入 sjcl.js,那么只放

它返回 2。但我没有跑

所以我想知道熵收集器是否在加载时自动启动。

0 投票
1 回答
156 浏览

security - 使用主密钥而不是用于加密的密钥解密数据

我正在尝试构建一个将用户相关信息客户端存储在本地存储中的应用程序。我正在使用用户提供的密码加密该数据。

如果我实施忘记密码并生成新密码,如何取回用旧密码加密的数据。

我正在使用 sjcl 来加密数据。有没有什么技术可以用 2 个密码加密数据?

这种情况下的理想模式是什么?

0 投票
1 回答
359 浏览

javascript - SJCL 密钥生成

对于我的网站“moneyart.info”,我想使用 JavaScript 库 sjcl 生成 ECC 公钥和私钥。我尝试了以下代码:

我收到错误消息:TypeError: sjcl.ecc is undefined 我想我必须用 new 构造一个类,但我不知道是哪一个。

0 投票
1 回答
600 浏览

javascript - JS:存储在数据库中后无法解密(SJCL)

我正在尝试使用斯坦福 Javascript 加密库 (SJCL),并希望加密并稍后解密一个字符串。

以下代码工作正常:

第一个警报显示加密数据,第二个警报显示“消息”。但是,我需要将加密的 var 存储在 SQL 数据库中,因此我通过 ajax 将其发送到将其存储在表中的服务器。

我稍后请求加密消息(再次通过 ajax)并将其存储在变量 encrypted 中。之后我想解密它:

但我没有收到包含字符串“消息”的警报,控制台只显示“未捕获的异常:损坏:ccm:标签不匹配”。

我没有更改加密文本,两个示例之间的唯一区别是我从服务器获取了加密的变量。

有什么想法有什么问题吗?

编辑:

将其存储在数据库中的 ajax 代码:

以及接收数据的ajax代码:

我还将加密后的加密字符串与服务器上的字符串和客户端上的字符串(用于解密)进行了比较:都是一样的。