新文章 网摘 文章 随笔 日记

安全地发送密码

发送第三方无法拦截的内容的唯一方法是使用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

posted @ 2020-09-21 22:42  岭南春  阅读(111)  评论(0)    收藏  举报