A asonlife Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-17 #1 []我昨天使用MD5加密字符串,感觉很不错。使用该函数可以将加密后的字符串存在数据库中。但问题是,该函数好像没有解密的程序。那我如何从数据库中读取加密后的字符并解密呢?请求答复!非常感谢!!
A asonlife Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-17 #2 []我昨天使用MD5加密字符串,感觉很不错。使用该函数可以将加密后的字符串存在数据库中。但问题是,该函数好像没有解密的程序。那我如何从数据库中读取加密后的字符并解密呢?请求答复!非常感谢!!
A asonlife Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-17 #4 To:xianguo 那我要读取,必需要解开。否则我在程序中如何判断其正确的值呢?
X xianguo Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-17 #5 只能传入明码,经过MD5加密后与数据库中的字符串比较 即 if MD5(str1) = str2 then ...
I icewaiter Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-17 #6 把你要判断的明文加密后比较, 不要想解成明文比较
G gaisy Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-17 #7 MD5加密后就无法还原了,如果要修改密码的话只能重新定义一个新的密码
D david_sale Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-17 #8 要实现加密解密可采用一些三方控件,MD5是单向不可逆算法,楼主可使用RSA算法 这个控件中以实现你想要的一切,里面有几十种不同的加解密的算法,最重要是它是免费的开源代码,在各版本的delphi中都能使用。 DCPcrypt Cryptographic Component Library v2 Beta 2 http://www.cityinthesky.co.uk/files/dcpcrypt2.zip
要实现加密解密可采用一些三方控件,MD5是单向不可逆算法,楼主可使用RSA算法 这个控件中以实现你想要的一切,里面有几十种不同的加解密的算法,最重要是它是免费的开源代码,在各版本的delphi中都能使用。 DCPcrypt Cryptographic Component Library v2 Beta 2 http://www.cityinthesky.co.uk/files/dcpcrypt2.zip
A apacheii Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-17 #9 楼主,MD5的原理你从函数原码就能看得出来,它是一种不可逆的加密算法,它能把不等长度的字符串给加密成固定长度的字符串,不能反加密的原因也就在此。象你提出的问题是根本不可能实现的,如果你有必要再加密后进行解密,那就自己写一个能反转的函数也行。MD5只能把你想要进行对比的字符串进行MD5加密后去跟原来那个已加密的字符串进行对比了。
楼主,MD5的原理你从函数原码就能看得出来,它是一种不可逆的加密算法,它能把不等长度的字符串给加密成固定长度的字符串,不能反加密的原因也就在此。象你提出的问题是根本不可能实现的,如果你有必要再加密后进行解密,那就自己写一个能反转的函数也行。MD5只能把你想要进行对比的字符串进行MD5加密后去跟原来那个已加密的字符串进行对比了。
J JohnSun2002 Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-18 #10 MD5算法是不可逆的,所以加密后不能还原出来, 要实现你的功能,用其它算法来加密吧。
无 无泪 Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-18 #12 MD5算法是不可逆的 你可以的方法是:下一次输入密码的时候,再进行加密,看看是不是与数据库中存在的一样!