MD5是不可逆的。
但是同样值的字符串只能有一个MD5编码。
所以用户登录输入密码后:
在后台验证时是先把取得的用户密码转换成MD5码,然后和数据库中的MD5码比较。
UPDATE users SET password = MD5(password)
如果长度不够,可以先增加长度后再做,或者多建一列,完成后删除原来的列!(如passwd)
UPDATE users SET passwd = MD5(password)
MD5密文是不可逆向解密的,意思就是无法通过一段md5密文解析出未加密的原文是什么。现在破解MD5加密的方式,都是通过穷举法跑字典来暴力破解的。假设一个密码是用MD5方式加密的,只有密文。密码规则是最小6位最长15位,允许字母大小写加数字加下划线的组合,那么要破解,就是用穷举的方式,将英文字母和数字及下划线形成不同可能的组合,去逐个加密并和已有密文比较,如果遇到结果相同,那么那个组合结果就是原文。UPDATE "这里是你的表名" SET "你需要加密的字段" = MD5("你需要加密的字段")例如,我对user表中的password字段加密
UPDATE user SET password = MD5(password)
在mysql的查询编辑器中,可能表名和字段名都有一个单引号,不过没有什么印象。
其实我也是在别的网站看见大神分析出来的,在这里也感谢那位大神。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)