用javascript加密字符串,可以用密码解密,可以'Don’不要轻易被粗暴地逼迫
Encrypt string in javascript, that can be decrypted with a password, that can't be easily brute-forced
我希望能够做到这一点:
- 使用用户的密码在浏览器中加密字符串
- 将该字符串发送到我的服务器
- 允许任何人从我的服务器请求该字符串
- 该字符串可以由有密码的人解密
- 任何没有密码的都需要数百万美元/年才能解密字符串
我发现了这个使用AES加密和解密密码的线程。但是用我的数据测试它,解密函数在50毫秒内运行。仅在浏览器中,一天就有1728000次密码尝试。如果有人真的想破坏加密,我相信这在短时间内是可行的。
我的第二个直觉是,我应该把它放在服务器上的密码后面。您发送所需数据的ID和密码,它会发回您的加密数据。这解决了#3的问题,但I如果我真的想解密的话,仍然可以解密数据。
如果我这个服务器运行者不需要被信任,有没有办法做到这一点?假设用户可以信任/验证他们发送到服务器的数据,以及在浏览器中如何加密这些数据。
等等,我想我已经想通了。
用户将有一个密码,其哈希将被发送到服务器。用户只有在拥有密码哈希的情况下才能访问其数据。
数据将用类似AES的东西加密,但用于加密的密钥也是他们密码的散列。突然间,每天1728000次尝试似乎很小,因为密码不会出现在字典或任何东西中。这将是一个非常长的无意义的字符串。
读到这篇文章的人能确认这是否是正确的方法吗?
相关文章:
- 了解字符串加密
- 用JavaScript加密字符串,用RSA技术用PHP解密
- 在 PHP 中加密字符串,在 Node.js 中解密
- 如何使用 CryptoJS 解密加密字符串 (SHA512)
- 如何从另一个长字符串创建最多 12 个字符的加密字符串
- 使用 JavaScript 加密字符串并从服务器端 (Java) 解密
- 如何使用加密检查字符串是否已在 Node.js 中进行哈希处理
- 在没有外部库的JavaScript中加密字符串
- 在javascript中使用RSA加密一个小字符串,然后在服务器上用java解密
- 用javascript加密字符串,可以用密码解密,可以'Don’不要轻易被粗暴地逼迫
- JavaScript字符串加密和解密
- RSA加密比密钥长的字符串
- 如何在Java中解密已使用JS加密的字符串
- javascript中的字符串加密和java中的解密
- 通过javascript加密查询字符串的参数
- 如何使用RSA/ECB/PKCS1Padding算法通过JavaScript对加密字符串进行解密
- JavaScript加密字符串没有密钥
- 在JavaScript中解密PHP AES/CBC加密字符串
- 如何在JavaScript中加密字符串并在c#中解密该字符串?
- JavaScript中的字符串到数字,然后返回到字符串加密/解密