问题标签 [cryptico]

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

security - POST时是否可以在Web App中使用RSA加密而不是SSL?

假设我想构建一个我不想注册或无法获得 SSL 证书的应用程序(不管是什么原因)。

我想知道是否可以通过使用 RSA 来获得 SSL 的安全优势。

我正在使用 CrypticoJS 库 - https://github.com/wwwtyro/cryptico

例如,让我们说当用户向我的应用程序发布信息时。我会做以下事情:

1)服务器上有RSA私钥,给每个客户端一个RSA公钥。

2) 在客户端:在 POST 之前使用 RSA PublicKey 加密数据,以及 POST 加密数据

3) 在服务器上:使用私钥解密 POST 数据。

4)在服务器上:将解密的数据保存到数据库

目标是防止我的用户的敏感信息和密码被黑客入侵。我知道当人们访问我的应用程序时,我不会看到绿色的“信任”横幅,但我的用户的安全是首要任务。请让我知道这是否可能。谢谢。

0 投票
0 回答
1114 浏览

javascript - cryptico RSA加密/解密

我已经生成了公钥和私钥并将其存储到本地存储中以供进一步使用,但是当我尝试使用存储在本地存储中的私钥解密时,我得到了一些奇怪的错误。

如果我为每次使用创建新密钥,那么它可以工作,但当我将它们存储到本地存储时则不行。

我发现在将私钥保存到本地存储之前:

输出如下所示:

当我显示来自本地存储的数据时,它像这样:

我认为这可能是问题所在,但不知道如何解决。

用于从本地存储中获取数据的编辑代码:

});

0 投票
1 回答
73 浏览

javascript - 使用 multithread.js 访问范围

我尝试生成一个 RSA 密钥,因为这需要一些时间,我想使用 multithread.js 来生成密钥。

我的代码:

我得到一个

错误。

我知道 multithread.js 与应用程序的范围不同。那么如何访问 cryptico 库或将范围传递给 multithread.js?

0 投票
1 回答
100 浏览

javascript - 如何从 Cryptico 中的 PublicKeyString 取回密码

我能够加密“Rosy”并且我得到了 public key dfPublicKeyString。我想从我的公钥中取回“Rosy” dfPublicKeyString。另外我如何dfRSAkey从我的公钥中获取dfPublicKeyString。我该怎么做?我正在使用 cryptico.js 库。这是一个RSA算法实现。

0 投票
1 回答
970 浏览

openssl - 带有来自cryptico.js的密文的openssl_private_decrypt()返回false

我正在服务器上创建一个公钥/私钥,将公钥发送到 JavaScript 客户端,它使用 cryptico.js 库加密用户密码: https://github.com/wwwtyro/cryptico/blob/master/cryptico。 js

遵循这篇较早的文章Encrypt with Cryptico.js, Decrypt with OpenSSL的一些建议

按照同一篇文章中的建议,对 cryptico.js 进行了两次修改

现在在客户端js中:

然后我通过 AJAX POST 发送数据,我可以通过 $_POST["encrypted_post_var"] 验证它是否已成功接收

在 php 中:

0 投票
1 回答
170 浏览

node.js - 在会话中保存了 RSA 私钥,但已被破坏

这是我打算做的。

  1. 用户调用我的网站时生成的 RSA 私钥/公钥
  2. 给浏览器公钥
  3. 在会话中保存私钥(node.js,express-session)
  4. 当用户尝试登录使用公钥加密 id 和 pw 时,使用我保存在会话中的私钥解密它

问题来了。我这样保存了私钥

并且 RSA 密钥似乎很长,我附上了图像 -> 我首先生成的 RSA(图像)

但是,当我从另一个 AJAX 的会话中调用 RSA 密钥时,它突然变短了,我无法解密消息,因为出现错误,并且显示“您的私钥与公钥不匹配”

我从 app.post('/login') 中的会话加载的 RSA

由于这个问题,我不能使用 RSA 私钥/公钥来加密/解密 id/pw。为什么会发生?为什么 req.session 中的数据被破坏了?我不明白为什么它的价值会改变。

这是快速会话的设置。这里有问题吗?或任何其他原因?

0 投票
1 回答
292 浏览

javascript - 用 WebCryptoAPI 替换 cryptico.js - 如何获取公钥字符串?

我希望有人能帮帮忙。我一直在使用 cryptico.js 并通过以下方式生成密钥:

让我可以很好地访问公钥,例如:vnY5f+HVUQa2oBZKsb2LUgTlso/wtVsA5Ytqlr1RL13xVN81mnIHoL/5/8CKG4rQ/vQfnBAUBYfJzBQGeAXYnw==

我正在切换到使用 WebCrypto API,因为我想使用不同的密钥类型:

我想像使用 cryptico 一样获得公钥字符串,我确信我正在做一些非常愚蠢的事情,但我似乎无法得到它。

我已经使用crypto.subtle.exportKey了“spki”、“raw”和“jwk”选项,但没有任何乐趣。

即使我使用 RSA 而不是 ECDSA 生成密钥,我仍然得到相同的结果。

请问我做错了什么?

非常感谢

0 投票
0 回答
648 浏览

javascript - 使用 cryptico 库进行解密的 Javascript 错误

我有一个字符串让我们说选择 =“要加密和解密的文本” 我正在使用我用另一个程序生成的公钥进行加密,它工作正常。我得到密文并尝试对其进行解密,但出现以下错误。

当我查找错误时,它停在解密函数的第二行

我知道密码在“?”上分裂。但我可以看到我的密码中有它。有什么问题?ps 我将破折号添加到替换原始值的键中

@更新

我使用了此页面https://github.com/wwwtyro/cryptico中的示例,但遇到了同样的错误。所以我将代码更改如下

现在它通过了原始错误,但我收到了第二个错误

它停在第二行var aeskey = key.decrypt(my.b64to16(cipherblock[0])); . 这与base64有什么关系吗?我的密钥是十六进制编码的,我不知道这是否有帮助。

0 投票
1 回答
1084 浏览

javascript - JSZip压缩图片上传、加密、解密、显示图片

最初,我使用 FileReader 在客户端将图像上传转换为 base64,然后加密。将该结果附加到表单字段然后提交,但这会占用太多时间,所以我正在寻找替代方案。

我正在尝试使用JSZip首先压缩然后加密,然后提交、检索、解密和显示图像,但我一直坚持如何做到这一点。我的压缩尝试看起来像这样。

这在控制台中显示了一个加密的字符串和压缩的结果,但是当我解密并将结果记录到控制台时,我什么也得不到。执行此操作的正确方法是什么,或者更好的方法是什么?

0 投票
1 回答
410 浏览

javascript - 有没有办法用 javascript 生成 RSA 密钥对客户端?

我使用了 Cryptico 库,它工作正常,但是来自 Cryptico 的公钥与 OpenSSL 不兼容(这意味着我不能用它来加密数据,例如 PHP)。我在问如何生成与公钥兼容的密钥对客户端OpenSSL 。目标是能够在 IOS、Android 或 PHP 上使用公钥加密数据并在 Javascript 上解密(这意味着它兼容跨平台)。