MyException - 我的异常网
当前位置:我的异常网» ASP.NET » MD5还原的有关问题

MD5还原的有关问题

www.myexceptions.net  网友分享于:2013-04-01  浏览:10次
MD5还原的问题!
我做的网站用户密码是用MD5加密了的,但是我做到密码找回的时候,密码是找回了。但是就是加密了的二进制数。纳闷啊。。请问这个MD5加密的密码如何能还原成用户设置的本来密码?有高人的话尽快回个话,谢谢了先!

------解决方案--------------------
如果你自己有一个md5计算结果,你不可能使用 http://www.cmd5.com/ 这类骗人的东西“解密”。实际上,它首先哄骗你在它的网站上“加密”,没就是把原始数据先输入进去。然后,当你再输入刚刚计算出来的md5结果时,它直接拿出你刚刚输入的数据,说“看,我解密啦”。这是哄小孩的呀。既然你自己的程序中保存了原始信息,何来“解密”?直接查询一下md5结果对应的原始信息就可以了。
------解决方案--------------------
对了,说一下我一直用于在计算密码的md5值的算法,我实际上要把用户输入的密码跟网站安装信息(例如授权号、用户单位名称和地址)拼在一起,然后把它再跟它自己字符串反转结果拼在一起,最后判断总长度是否大于100个字符,如果不足100个字符还要自己再反转一次字符串结果然后跟自己拼在一起,这样的得到结果再计算md5。

其核心思想就是:不要用一个较短的字符串去计算散列值。

如果用户仅仅输入了3个字符,你也要用一定的算法把它有规律地扩展成超过100个字符的一个长串再去计算md5。


实际上,md5可以用于对重要的合同进行签名。然后将md5值以一种非常“昂贵”的方式进行真正的加密和传递,这样就能保证通讯过程中没人能随便改动合同中的一个字。

要记住,使用md5来计算一个比较长一些的字符串,不要计算过短的字符串,否则会被别有用心的人利用。
------解决方案--------------------
实际上,如果你计算md5之前把待计算的字符串随便加上一段胡乱打入的写死的字符串,http://www.cmd5.com/ 的把戏就“破产”了。当然,如果这个补充字符串是像软件开发商信息、网站授权信息之类的有意义的字符串,看可以起到防止用户将数据库拿给其它非授权用户的系统中使用的目的等。

我这样说的目的。就是希望楼主了解,如果你使用了md5方法就要遵循他的初衷来设计你的程序。没有可能解密之类的。但是你可以把用户曾经输入过得密码及其md5值写入自己的数据库,这样根据md5值就能反向查处原始密码,正如2楼所说的,这叫做数据库查询而不是解密。用户输入的密码不能直接作为md5处理对象,还应该将其人为扩展成一个较长的字符串,这样别有用心的人就无法用你的漏洞来做出一个攻击你的系统的代码反过来要挟你。

文章评论

写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
我的丈夫是个程序员
我的丈夫是个程序员
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
为什么程序员都是夜猫子
为什么程序员都是夜猫子
每天工作4小时的程序员
每天工作4小时的程序员
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
Java程序员必看电影
Java程序员必看电影
漫画:程序员的工作
漫画:程序员的工作
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员都该阅读的书
程序员都该阅读的书
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
旅行,写作,编程
旅行,写作,编程
代码女神横空出世
代码女神横空出世
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
我是如何打败拖延症的
我是如何打败拖延症的
那些争议最大的编程观点
那些争议最大的编程观点
中美印日四国程序员比较
中美印日四国程序员比较
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
程序员的鄙视链
程序员的鄙视链
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
程序员应该关注的一些事儿
程序员应该关注的一些事儿
程序员和编码员之间的区别
程序员和编码员之间的区别
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
 程序员的样子
程序员的样子
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
鲜为人知的编程真相
鲜为人知的编程真相
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
一个程序员的时间管理
一个程序员的时间管理
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有