问题标签 [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.
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)在服务器上:将解密的数据保存到数据库
目标是防止我的用户的敏感信息和密码被黑客入侵。我知道当人们访问我的应用程序时,我不会看到绿色的“信任”横幅,但我的用户的安全是首要任务。请让我知道这是否可能。谢谢。
javascript - cryptico RSA加密/解密
我已经生成了公钥和私钥并将其存储到本地存储中以供进一步使用,但是当我尝试使用存储在本地存储中的私钥解密时,我得到了一些奇怪的错误。
如果我为每次使用创建新密钥,那么它可以工作,但当我将它们存储到本地存储时则不行。
我发现在将私钥保存到本地存储之前:
输出如下所示:
当我显示来自本地存储的数据时,它像这样:
我认为这可能是问题所在,但不知道如何解决。
用于从本地存储中获取数据的编辑代码:
});
javascript - 使用 multithread.js 访问范围
我尝试生成一个 RSA 密钥,因为这需要一些时间,我想使用 multithread.js 来生成密钥。
我的代码:
我得到一个
错误。
我知道 multithread.js 与应用程序的范围不同。那么如何访问 cryptico 库或将范围传递给 multithread.js?
javascript - 如何从 Cryptico 中的 PublicKeyString 取回密码
我能够加密“Rosy”并且我得到了 public key dfPublicKeyString
。我想从我的公钥中取回“Rosy” dfPublicKeyString
。另外我如何dfRSAkey
从我的公钥中获取dfPublicKeyString
。我该怎么做?我正在使用 cryptico.js 库。这是一个RSA算法实现。
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 中:
node.js - 在会话中保存了 RSA 私钥,但已被破坏
这是我打算做的。
- 用户调用我的网站时生成的 RSA 私钥/公钥
- 给浏览器公钥
- 在会话中保存私钥(node.js,express-session)
- 当用户尝试登录使用公钥加密 id 和 pw 时,使用我保存在会话中的私钥解密它
问题来了。我这样保存了私钥
并且 RSA 密钥似乎很长,我附上了图像 -> 我首先生成的 RSA(图像)
但是,当我从另一个 AJAX 的会话中调用 RSA 密钥时,它突然变短了,我无法解密消息,因为出现错误,并且显示“您的私钥与公钥不匹配”
我从 app.post('/login') 中的会话加载的 RSA
由于这个问题,我不能使用 RSA 私钥/公钥来加密/解密 id/pw。为什么会发生?为什么 req.session 中的数据被破坏了?我不明白为什么它的价值会改变。
这是快速会话的设置。这里有问题吗?或任何其他原因?
javascript - 用 WebCryptoAPI 替换 cryptico.js - 如何获取公钥字符串?
我希望有人能帮帮忙。我一直在使用 cryptico.js 并通过以下方式生成密钥:
让我可以很好地访问公钥,例如:vnY5f+HVUQa2oBZKsb2LUgTlso/wtVsA5Ytqlr1RL13xVN81mnIHoL/5/8CKG4rQ/vQfnBAUBYfJzBQGeAXYnw==
我正在切换到使用 WebCrypto API,因为我想使用不同的密钥类型:
我想像使用 cryptico 一样获得公钥字符串,我确信我正在做一些非常愚蠢的事情,但我似乎无法得到它。
我已经使用crypto.subtle.exportKey
了“spki”、“raw”和“jwk”选项,但没有任何乐趣。
即使我使用 RSA 而不是 ECDSA 生成密钥,我仍然得到相同的结果。
请问我做错了什么?
非常感谢
javascript - 使用 cryptico 库进行解密的 Javascript 错误
我有一个字符串让我们说选择 =“要加密和解密的文本” 我正在使用我用另一个程序生成的公钥进行加密,它工作正常。我得到密文并尝试对其进行解密,但出现以下错误。
当我查找错误时,它停在解密函数的第二行
我知道密码在“?”上分裂。但我可以看到我的密码中有它。有什么问题?ps 我将破折号添加到替换原始值的键中
@更新
我使用了此页面https://github.com/wwwtyro/cryptico中的示例,但遇到了同样的错误。所以我将代码更改如下
现在它通过了原始错误,但我收到了第二个错误
它停在第二行var aeskey = key.decrypt(my.b64to16(cipherblock[0])); . 这与base64有什么关系吗?我的密钥是十六进制编码的,我不知道这是否有帮助。
javascript - 有没有办法用 javascript 生成 RSA 密钥对客户端?
我使用了 Cryptico 库,它工作正常,但是来自 Cryptico 的公钥与 OpenSSL 不兼容(这意味着我不能用它来加密数据,例如 PHP)。我在问如何生成与公钥兼容的密钥对客户端OpenSSL 。目标是能够在 IOS、Android 或 PHP 上使用公钥加密数据并在 Javascript 上解密(这意味着它兼容跨平台)。