安全地发送密码
发送第三方无法拦截的内容的唯一方法是使用HTTPS而不是常规HTTP。这样,服务器和客户端之间发送的所有内容都会被高度加密。如果非要自己动手,则请按以下步骤:
- 为您的应用程序准备一个密钥
KEY(盐)。永远不要告诉任何人。 - 用户注册后,将其存储
crypt(password,KEY)在数据库中。 - 当用户想要登录时,向他们发送随机生成的密钥
RAND(可以客户端生成RAND) - 用户键入密码,表格
crypt(password,RAND)通过不安全的AJAX 计算并发送。密码永远不会离开用户的计算机。 - 服务器根据
crypt(crypt(password,RAND),KEY)表单响应crypt(crypt(password,KEY),RAND)和数据库进行计算,然后将两者进行比较。他们应该是平等的。
所有这些都是不必要的复杂操作,需要大量的精力才能正确正确地实现。购买SSL证书并使用HTTPS可以更轻松地实现此级别的安全性,甚至更高。
https://stackoverflow.com/questions/4003325/send-password-safely-using-an-ajax-request
浙公网安备 33010602011771号