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

json - 为什么 SJCL 在尝试解码此 JSON 片段时报告“这不是 JSON”?

我正在使用SJCL,它适用于小的 ASCII 字符串。

但是,当我尝试解码这段 JSON(HTML 页面加密的结果)时,我得到了一个"this is not JSON!"错误。

JSON 由 SJCL 生成,虽然我使用 LZW 和 base64 对其进行了编码和解码,但对于具有相同工作流程的小字符串,我没有收到此错误。

我跟踪了解码功能的错误消息来源。我假设正则表达式失败,但我不明白为什么这对我来说似乎是一个完美形成的 JSON 字符串。

但是,我可能是错的,就好像我对它执行 JavaScript eval 它会因语法错误而失败。但是如果我将它转储到一个文件中,Python 解析它很好。

0 投票
2 回答
421 浏览

javascript - 从 JAVA6 中的 javascript 引擎库调用斯坦福 javascript 库加密函数的问题

我正在尝试从 JAVA6 中的 javascript 引擎库调用 stanford javascript 库加密函数。使用 JAVA6 中的 javascript 引擎库的以下代码,我收到以下错误:

任何帮助将非常感激。

}

0 投票
1 回答
3512 浏览

javascript - 椭圆曲线密码学与 JS 中的 SJCL 和 Ruby 中的 OpenSSL

我正在开发一个 Web 应用程序,它必须能够在服务器端使用 ECC 加密数据并在浏览器中对其进行解密。我发现在 JS 中能够做到这一点的唯一库是 SJCL。但是,由于 SJCL 中的 ECC 支持目前似乎有点放弃,我使用了一个fork,它具有关键序列化支持和一个演示,以便于理解。

首先,我在 JS 中生成一个 ECC 密钥对:

这会输出如下内容:

然后我尝试将此公钥转换为 OpenSSL 可以理解的格式。

到目前为止,我的代码运行良好。也就是说,它不会产生任何异常。

但是,当与两个库生成共享密钥时,我发现 SJCL 生成了一个 96 字节长的“标签”,而 OpenSSL 发出了 48 字节。

原来我的问题是 SJCL 不使用普通的 ECDH。它使用基于快速谷歌搜索的似乎是 ECMQV 的东西。因此,“标签”SJCL 输出是曲线上的一个点(一个点的 x 和 y 坐标,2*48 字节),而 OpenSSL 输出是一个共享秘密(一个点的 x 坐标,由 ECDH 规定)。

我的问题是我不知道 OpenSSL 中是否支持 ECMQV(如果我是正确的,有一些专利问题)。即使有,红宝石绑定似乎也不支持它。

所以我的实际问题:

  • 上面记录的我的发现是否正确?
  • 如果是的话,有没有人知道我可以使用其他任何支持 ECMQV 的 ruby​​ 库来代替 OpenSSL?
0 投票
3 回答
3532 浏览

javascript - 安全的 Javascript 加密库?

我正在搜索一个提供安全加密的 javascript 库。客户端必须生成一个密钥,所有上传到服务器的数据都被加密,所有下载的数据都被解密。我需要一个经过身份验证的加密方案,仅 CTR 或 CBC 是不够的。

我听说过 sjcl,但似乎 sjcl 只能一次加密整个数据。我没有找到一种方法来逐块加密数据。因为上传的文件可能非常大,这种方法是不可行的。我需要类似 java 加密接口的东西,它有两个方法 update() 和 final()。

我发现 nodeJS 加密库似乎可以满足我的需要,但我不知道如何在浏览器端使用它。

我找到了 google crypto-js,但是这个库似乎不提供经过身份验证的加密,而只提供标准模式。

有没有办法用 sjcl 逐块加密数据?在浏览器端使用 nodeJS 加密库?将经过身份验证的加密与 crypto-js 一起使用?或者是否有另一个安全的 javascript 库可以提供我需要的东西?

0 投票
1 回答
282 浏览

objective-c - 等效于 ObjC 的 SJCL.js

我正在为 RESTful Web 服务开发客户端应用程序。Web 应用程序使用 Stanford JS Crypto 库进行一些客户端站点加密,我也需要对应用程序执行此操作。

但是 SJCL 库不只是 AES256 加密数据,它确实提供了一种易于包装的方法。查看 SJCL 简短概述页面了解更多详细信息:http ://crypto.stanford.edu/sjcl/

有没有人有提供兼容过程来加密数据的经验,比如 SJCL 会用 ObjC 做的?

0 投票
2 回答
3531 浏览

php - 使用 SJCL 在 Javascript 中加密并在 PHP 中解密

我想用Javascript加密一些数据,并将其发送到php服务器后,它可以被解密。

我计划将 JS 加密库用作 SJCL:http ://crypto.stanford.edu/sjcl/ 。到目前为止,我可以在 JS 中加密我的数据并通过 ajax post 发送。我的 JS 代码就像这样。

我的问题是如何在 php.ini 中解密我的数据。如果可能的话,请告诉我如何使用示例代码来做到这一点。(注意:SSL 对我来说不是一个选项,现在我计划使用 KEY 作为每个请求生成的随机数)

谢谢

0 投票
1 回答
7386 浏览

javascript - 使用 SJCL 获取 sha256 哈希的十六进制表示

SJCL文档提供以下代码作为 sha256 的示例:

该示例中的摘要等于 64 个字符的十六进制字符串,而我期望的是 16 个字符的十六进制字符串(256 位 = 16 个十六进制字符)。我错过了什么?如何获得 16 个字符的哈希摘要?

0 投票
3 回答
2942 浏览

javascript - 在 ruby​​ 中使用 sjcl.js 创建的 AES 解密

嗨,让我们假设客户端有一个密钥,它不是通过与加密数据相同的通道传输的。

我想要完成的是在 ruby​​ 中解密Stanford Javascript Crypto Library (sjcl)的结果。或用于具有支持 AES 的加密库的任何其他语言的概括。

这是我在 javascript 中所做的事情:

这就是我得到的回报:

所以我实际上要问的是,我需要哪些参数(假设服务器已经有“堆栈密码”密钥)来解密服务器端的秘密,我应该使用哪个库?可能只有 AES 解密库还不够?

0 投票
3 回答
4443 浏览

javascript - 是 sjcl.encrypt 使用 AES 或 SHA256

我正在使用SJCL 库来加密/解密消息。我的问题是我不知道使用的是 AES 还是 SHA256

这是我的代码:

接下来我可以像这样加密/解密

AES 或 SHA256 还是别的什么?

0 投票
1 回答
317 浏览

javascript - 无法在 Appcellerator Titanium 项目中使用 sjcl

我正在尝试在我的 Titanium(目标:iOS 和 Android)项目中使用 sjcl(Stanford Javascript Crypto Library)加密一些文本。我正在使用最简单的方法,没有其他选择:

该应用程序只是挂在这条线上,我没有收到任何错误或任何有用的信息。我错过了什么?

谢谢!