md5问题(在线等)

askformore1100 2012-06-12 10:48:59
登陆记住密码,我把密码用MD5加密存入了注册表,下次登陆的时候就会读到密码框上,这时候问题就在这里了,假如我的密码是123456,如果我直接输入了,跟数据库里面的密码匹配当然能成功,但我存入了注册表的密码就无法登陆成功了,如果先用MD5加密密码后再登陆,那么已经加密过的在注册表的密码不是又加密了一次吗?求解决?
...全文
144 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
No_se 2012-06-12
  • 打赏
  • 举报
回复
有点晕
askformore1100 2012-06-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

如果你输入 123456 ,那么和注册表中匹配时,要先对 123456 进行md5加密后再去对比,不能直接对比
[/Quote]
还有5楼的,如果是注册表里面读出来的密码,本来就是已经加密过的。看清题目啊。难道还要加密一次?
askformore1100 2012-06-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

从注册表读出来以后就不要在md5了直接提交验证啊,密码框里面随便放什么,反正都是星号
[/Quote]
怎么判断他是不是从注册表里面读出来的?
E次奥 2012-06-12
  • 打赏
  • 举报
回复
先加密,在对比!
cnfixit 2012-06-12
  • 打赏
  • 举报
回复
如果是以密码框为准,那么就把密码框里面的值md5后和注册表里面的比对,如果都不相同,那么就是新输入的,如果有相同的,那么就不md5了,直接提交验证
  • 打赏
  • 举报
回复
加一个标志,true或false来记录是不是记住密码
如果记住密码,密码不用加密了。
bdmh 2012-06-12
  • 打赏
  • 举报
回复
如果你输入 123456 ,那么和注册表中匹配时,要先对 123456 进行md5加密后再去对比,不能直接对比
cnfixit 2012-06-12
  • 打赏
  • 举报
回复
从注册表读出来以后就不要在md5了直接提交验证啊,密码框里面随便放什么,反正都是星号
philoo 2012-06-12
  • 打赏
  • 举报
回复
这不是技术题,是智力题啊……
philoo 2012-06-12
  • 打赏
  • 举报
回复
解决方法:

画面除了密码框之外,在放置一个隐藏域。

打开登录画面时,从注册表读取保存密码的MD5值,放入隐藏域,同时随便在密码框显示几个星星(反正是星星)。

如果用户修改了密码框的密码,再登录,你就从密码框中取得密码用其MD5值进行验证;

如果用户没有修改密码框的密码,直接登录,你就从隐藏域中取值,不用再计算其MD5值,直接用于验证。
__天涯寻梦 2012-06-12
  • 打赏
  • 举报
回复
记住的密码他说不定还修改呢,保存到注册表就别用 md5 了,用个可逆的加密方式,甚至不加密,既然他选择记住,安全就由他自己保障了
Lugyedo 2012-06-12
  • 打赏
  • 举报
回复
MD5不是加密,是散列算法

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧