问题标签 [jsbn]

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

python - PKCS1的python RSA实现

我在 javascript 中获得了以下用于 RSA 实现的代码http://www-cs-students.stanford.edu/~tjw/jsbn/

在上面的片段中,似乎 pkcs1pad2 函数用于在消息前面用一些随机字节(可能像 0|2|random|0 )填充消息。

我正在使用 python rsa 包(http://stuvel.eu/rsa)来模仿 javascript 结果,我是 python 世界的新手,不知道将 javascript 算法代码转换为 python 代码。

任何帮助,将不胜感激。
洁洁

0 投票
1 回答
2526 浏览

php - phpseclib/jsbn:在 PHP 中使用公钥加密,在 jsbn 中使用私钥解密

我可以在客户端使用jsbn成功生成公钥/私钥对。使用这些密钥加密和解密客户端就可以了。我还可以将该公钥传输到服务器并通过 PHP 将其存储在 MySQL 中。

我无法使用 jsbn 公钥在 PHP 中加密某些内容,然后使用 jsbn 私钥在客户端对其进行解密。

这是客户端加密:

当我尝试在 JavaScript 中解密 '$ciphertext_web_safe' 值时,我只得到一个空字符串。控制台日志等中没有错误。

PHP中使用的“bin2hex”有问题吗?在将加密的二进制数据转换为十六进制之前是否应该应用某种填充等?

干杯,戴夫

0 投票
1 回答
1596 浏览

javascript - javascript中的RSA与PHP不同

我现在遇到了 RSA 的问题。我在 Javascript 和 PHP 中具有相同的模数和指数。在 javascript 中都使用 PKCS#1,我使用http://www-cs-students.stanford.edu/~tjw/jsbn/rsa.js

在 PHP 中,我使用http://phpseclib.sourceforge.net/

但是2个结果不同。有谁能告诉我原因。非常感谢

0 投票
2 回答
2183 浏览

javascript - 用 Javascript 加密,用 PKCS#1 解密 PHP

我试图使用 PKCS#1 在 Javascript/PHP 中进行加密/解密。我有以下变量:

我正在使用这个 javascript 库来解密: http://www-cs-students.stanford.edu/~tjw/jsbn/rsa.js 像这样:

要在 PHP 中解密,我使用 PHPSec 库:

问题1:如何将d和n转换为要在phpseclib中使用的私钥?

问题 2:如何将 Javascript 代码的输出转换为可与 phpseclib 一起使用的形式?

0 投票
4 回答
2377 浏览

javascript - 从数字生成公钥

我在 javascript 中使用 RSA,来自:http ://www-cs-students.stanford.edu/~tjw/jsbn/

在他们的演示页面上,它能够生成所需的密钥:http ://www-cs-students.stanford.edu/~tjw/jsbn/rsa2.html

但我不明白的是,如何将它们的密钥(即一些变量)从十六进制字符串转换为看起来像私钥/公钥字符串的字符串。

他们的输出看起来像这样......

我希望私钥看起来像这样......

0 投票
1 回答
7754 浏览

javascript - RSA 消息太长 Javascript JSBN

我在 javascript 中使用 JSBN 来加密一组 facebook 数据字符串(消息),以安全地将它们发送到我的服务器(PHP)并在那里解密它们。

一些用户在类似的情况下遇到“消息太长”

我通过以下方式生成了一个私钥:

为什么我会收到这条消息?消息不是那么长。

我看过以下帖子,但我不明白如何在 javascript 中使用 AES 而不会破坏 AES 密码。

RSA 加密问题 [有效负载数据的大小]

0 投票
1 回答
939 浏览

javascript - 无法使用 jsbn 正确加密 Javascript 中的数据

我无法使用 Tom Wu 的 jsbn 库在 JavaScript 中加密数据。

我最终得到了一个加密数据,但是当我尝试在 PHP 上解密数据时,openssl_private_decrypt 返回 false。

我编码公钥的方式有可能吗?

这是加密数据的 JavaScript 代码。

一种想法是“\n”,也许 JavaScript 与 PHP 不同,它不会自动理解结构,或者库不会。

我正在使用在以下位置获得的最新文件:

http://www-cs-students.stanford.edu/~tjw/jsbn/

https://github.com/ziyan/javascript-rsa/tree/master/src

为了进行测试,我将加密值(使用 Visual Studio 用于 JavaScript 端进行测试)复制并粘贴到我的 PHP 文件中。我将密钥传递给 openssl_private_decrypt() 并返回 FALSE。遗憾的是,openssl_private_decrypt 没有返回原因,JavaScript 代码似乎返回了一个值,并且没有抛出或返回错误。

我的猜测是与公钥有关,但显然问题可能出在其他地方。

0 投票
2 回答
3211 浏览

javascript - 如何使用 JSBN 加密 Crypto-JS 密钥?

我正在使用JSBN使用公钥/私钥对加密/解密数据。它适用于文本数据,包括十六进制字符串。

我的问题是现在我有二进制数据,特别是Crypto-JS字数组,我需要用公钥加密并发送到另一个平台。

所以考虑一下:

这可行,但这意味着“encrypted_key”实际上是一个已加密的十六进制字符串,而不是实际的密钥。我需要加密实际的密钥。

所以我在这里看到了两个挑战:

1) 我不是 100% 确定如何从 CryptoJS.lib.WordArray 中获取实际字节——尽管这似乎并非完全不可克服。

2)我不知道是否可以使用 JSBN 加密二进制数据。我很想知道如何做到这一点。

有什么想法吗?

0 投票
2 回答
9177 浏览

java - 在 javascript 中使用 RSA 加密一个小字符串,然后在服务器上的 java 中解密

我想使用带有公钥的 RSA 在 javascript 中加密一个小字符串,然后使用私钥在 java 服务器端代码中解密该字符串。

我在 javascript 中使用此代码: http ://www-cs-students.stanford.edu/~tjw/jsbn/ 示例: http ://www-cs-students.stanford.edu/~tjw/jsbn/rsa2 .html

以及java端的这段代码: Encrypting string in javascript and decryption in java

两种代码独立运行良好,但彼此不理解。今天需要解决这个问题,否则我愿意接受任何其他以这种方式工作的不对称算法。

0 投票
1 回答
1721 浏览

javascript - 使用 JS 和 PHP 进行 RSA 加密和解密

是否可以使用 PHP 中的公钥加密消息,然后使用 JS 中的私钥对其进行解密?

我为 PHP 和 jQuery 找到了一些不同的 RSA 加密脚本,但它们似乎都不能同时工作。也许我做错了,但基本上我从: phpseclib-jsbn-rsa (https://github.com/mvhaen/phpseclib-jsbn-rsa)开始,我试图扭转这个过程。

经过几次搜索后,我遇到了这个人,他似乎正在尝试做同样的事情:phpseclib/jsbn:用 PHP 中的公钥加密,用 jsbn 中的私钥解密.. 但我已经用几种不同的方式尝试了该代码我无法让它工作。

我知道有一些方法可以通过 RSA 与服务器共享客户端生成的密钥,使用 AES 实现几乎相同的目标。但是有可能做我想做的事吗?