Oracle数据库中MD5解密方法是什么?

Oracle数据库中MD5解密方法是什么?,第1张

MD5解密方法\x0d\x0a我在存储数据库的时候,通过md5加密方法将字段进行加密,当我在读取该字段时如何正确的读取原来的值啊\x0d\x0a------解决方案--------------------\x0d\x0a没办法,MD5是不可逆的。\x0d\x0a你需要使用可逆加密算法。\x0d\x0a------解决方案--------------------\x0d\x0a插入表中的时候md5加密\x0d\x0a比如:\x0d\x0a$sql= "insert into register(names,pswd,repswd) values( '$_POST[names] ',md5( '$_POST[pswd] '),md5( '$_POST[repswd] ')) "\x0d\x0a$qid=mysql_query($sql)\x0d\x0a读取的时候\x0d\x0a$pswd=empty($_POST[ 'pswd '])? ' ':md5($_POST[ 'pswd '])\x0d\x0a------解决方案--------------------\x0d\x0a如果业务要求可还原,那么不要采用MD5,请使用可逆加密算法,如DES加密。\x0d\x0aMD5为不可逆散列算法,可用于存储用户密码,存储后不需要永远不需要知道明文。密码比较时只需将用户输入的密码再次转成MD5码与存储的相比较即可得知用户输入密码是否正确。\x0d\x0alinux/unix *** 作系统一般采用MD5进行用户密码加密。\x0d\x0a------解决方案--------------------\x0d\x0aMD5目前所谓的破解只是采用碰撞法找到了对等因子。\x0d\x0a比如:string1的MD5码为MD1,而现在我们做到的只是又找到了一个string2,它的MD5码也是MD1。\x0d\x0a结果就是:用户登陆某采用MD5加密的系统时,本来密码是12345,现在可能用abcde也能登陆。\x0d\x0a想想可能还原吗?如果可以还原,那天大的信息也能用32位长的字符串表示了,这不成了超级压缩算法了吗,整个宇宙的信息都可以用32位长表示了。不可逆的!

MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。

MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在 RFC 1321 标准中被加以规范。

1996年后该算法被证实存在弱点,可以被加以破解,对于需要高度安全性的数据,专家一般建议改用其他算法,如SHA-2。2004年,证实MD5算法无法防止碰撞(collision),因此不适用于安全性认证,如SSL公开密钥认证或是数字签名等用途。

用于密码管理

当我们需要保存某些密码信息以用于身份确认时,如果直接将密码信息以明码方式保存在数据库中,不使用任何保密措施,系统管理员就很容易能得到原来的密码信息,这些信息一旦泄露, 密码也很容易被破译。

为了增加安全性,有必要对数据库中需要保密的信息进行加密,这样,即使有人得到了整个数据库,如果没有解密算法,也不能得到原来的密码信息。MD5算法可以很好地解决这个问题,因为它可以将任意长度的输入串经过计算得到固定长度的输出,而且只有在明文相同的情况下。

才能等到相同的密文,并且这个算法是不可逆的,即便得到了加密以后的密文,也不可能通过解密算法反算出明文。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9643142.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存