C_reator
2014-12-18 09:08
采纳率: 0%
浏览 2.0k

请教一个关于网站用户密码保存的问题

之前自己做过一个简单的网页有登录注册功能的,但是我是直接将用户注册的名字和密码保存在数据库中,换句话说,我可以在数据库里直接看到用户的密码。当然这只是一个个人简单的小demo,但我想问一下,在实际投入运行的网站中,他们是怎样保存用户的密码的?后台人员能够从数据库中看得到用户的密码吗?如果看不到,那比如我们要修改密码的话,后台又是如何判断我输入的密码是否是原来的密码?
求教一下~谢谢~

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • feiyun0112 2014-12-18 09:27

    一般是MD5加密

    修改密码和登录是一样处理,输入原密码,MD5加密后和数据库比较是否相同

    评论
    解决 无用
    打赏 举报
  • 一如既往哈 2014-12-18 09:27

    密码都是要加密存储的,哪能使用明码呢?后台人员只要有操作数据库的权限就能看到数据库中的所有信息,何况是密码呢?
    至于修改密码,一般都需要提供原来的密码,经过相同的方法加密并与数据库中保存的密码比较,相同就允许修改密码,不同就拒绝修改密码.....

    评论
    解决 无用
    打赏 举报
  • threenewbee 2014-12-18 09:33

    一般来说,我们使用哈希(Hash)算法来存储密码。
    其中MD5和SHA是两种常见的Hash算法,你可以通过Hash算法得到一个Hash值,和数据库中存储的比较,并且如果Hash一致,就视作密码正确。但是不能根据Hash算法知道用户输入的密码是什么,这样就保证了安全。

    通俗的比喻,Hash好比指纹。你不能从指纹知道这个指纹是谁,但是如果你留存了指纹底根,那么那个人来了可以判断是不是他。

    评论
    解决 无用
    打赏 举报
  • 北岸hp 2014-12-18 09:47

    一般是用Hash中的md5加密,但要注意md5加密是不可逆的

    评论
    解决 无用
    打赏 举报
  • zilaishuichina 2014-12-22 02:26

    数据库里面存储的密码都是md5之后的字符串,甚至是2次md5的字符串。

    判断密码是否相同, 举个例子123, md5之后数据库里面存储的是asdfghjk

    用户在页面登陆输入123, 页面传到后台程序的时候,将用户输入的123,md5成asdfghjk,然后和数据库中比较是否匹配,匹配则密码正确

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题