客户端数据加密/解密的Rails应用程序
用户互相发送消息并通过Rails应用发布其他用户的私人信息。
目标是保护消息,因此系统管理员和数据库泄漏都不会损害数据。 使用收件人密钥的Javascript客户端加密,加密数据存储在数据库中,并在收件人一方解密。 密钥不存储在系统中。
有意义吗? 有解决方案吗? 非常感谢!
更新:我的意思是非对称密码学。 每个用户有两个密钥:一个公开用于加密,一个用于解密。 并为应用程序本身提供密码。 用户使用他的密码登录,创建一条消息,该消息是使用收件人公钥(存储在系统中)加密的客户端并保存在数据库中的。 收件人使用他的密码登录,然后输入他的私钥解码消息。 解密也是客户端,私钥不会发送到服务器。
当然。 使用这个http://crypto.stanford.edu/sjcl/。 特别看看演示http://bitwiseshiftleft.github.com/sjcl/demo/
要记住的一件事是,不存储密钥的唯一方法是让用户从密码中导出密码(不应该是他们用于您的网站的密码)。 这很好,就像上面的库一样。但是,如果他们忘记了密码,就没有帮助他们,
在客户端,你可以使用openpgp.js。 使用lib创建密钥,签名,加密/解密等是很容易的。
可能是解决方案之一。jsbn库是纯JavaScript中的大数学运算的快速,便携式实现,可在桌面和移动浏览器上启用公钥密码和其他应用程序。
http://www-cs-students.stanford.edu/~tjw/jsbn/
RSA加密演示http://www-cs-students.stanford.edu/~tjw/jsbn/rsa2.html
链接地址: http://www.djcxy.com/p/21771.html上一篇: Client side data encryption/decryption for rails application