能保证的 md5
md5可以确保唯一性,而且是不可逆的!不过是可以暴力破解的,abcd加密后是1a2b3c4d这样,那么你可以使用数据字典,也让你字典里的字符串md5加密。如果结果一样就匹配成功了。反之也可以
md5不是用来加密的,一般的意义上来说,一段文字或者文件,你加密后是要能够解密的,所有md5严格意义上来说,不是用来加密的。 在我看来,md5是用来确保一个文件或者一段文字不被串改的工具,但也只是众多工具中的一种。比如你在网上下载了一个文件,其md5值与源文件的md5值一致,说明文件被串改的可能行很小,所以一般的网站在下载文件时除了给出md5值,还给出了sha1值,就是这个道理。 在实际的项目开发中,用户的密码,一般会经过md5后存入数据库,验证的原理跟上文一致。楼上说的很对,一般存储密码是都会加salt后在计算md5值:md5(password + salt)或者多次md5:md5(md5(password)),这样其实可保证密码的安全性。
问下哈 注册时 md5(password + salt) 这个salt 是随机产生的 之后这个密码保存到库里面了 用户登录的时候 这个 salt 怎么来呢
[quote=引用 22 楼 shijing266 的回复:] 其实,MD5加密之后不唯一是因为加密之前的值是一样的,当你的值不一样的时候,就能保证唯一性 我的建议:能否在加密之前,对参数拼接一个随机数或者自增数来保证
62,614
社区成员
307,326
社区内容
加载中
试试用AI创作助手写篇文章吧