MD5是一种不可逆的加密(散列)算法,只能加密,不能还原。
MD5用同一值加密的结果每次都一样,所以可以将用户的密码的MD5结果保存在数据库中。当用户登录时,将登陆时的密码MD5之后和数据库中的进行比对,如果相同就证明用户输入的密码正确。
MD5的值是可以碰撞的(两个不同值的MD5结果相同),但几率非常小。
不过好象有人已经发现了快速发现碰撞的方法,MD5已经不是牢不可破,不过尚未公开。
目前MD5破解的方法都是将很多字符穷举将其MD5值保存在一个大型数据库中,查找是依次比对。
防止自己的MD5值被穷举出来可以通过使用长且复杂的密码或者进行多次MD5
我很纳闷,现在很多软件给用户加密用MD5算法,如果MD5值不能直接还原,那软件MD5是一种不可逆的加密(散列)算法,只能加密,不能还原。 MD5用同一值加密
非对称加密
无事....