我使用md5加密字符串,请问如何从数据库读取加密后的字符并将解密后的字符显示在Edit上呢?请求答复!非常感谢!! ( 积分: 100 )

  • 主题发起人 主题发起人 asonlife
  • 开始时间 开始时间
A

asonlife

Unregistered / Unconfirmed
GUEST, unregistred user!
[:D]我昨天使用MD5加密字符串,感觉很不错。使用该函数可以将加密后的字符串存在数据库中。但问题是,该函数好像没有解密的程序。那我如何从数据库中读取加密后的字符并解密呢?请求答复!非常感谢!!
 
[:D]我昨天使用MD5加密字符串,感觉很不错。使用该函数可以将加密后的字符串存在数据库中。但问题是,该函数好像没有解密的程序。那我如何从数据库中读取加密后的字符并解密呢?请求答复!非常感谢!!
 
MD5是不可逆的!
 
To:xianguo
那我要读取,必需要解开。否则我在程序中如何判断其正确的值呢?
 
只能传入明码,经过MD5加密后与数据库中的字符串比较

if MD5(str1) = str2 then ...
 
把你要判断的明文加密后比较,
不要想解成明文比较
 
MD5加密后就无法还原了,如果要修改密码的话只能重新定义一个新的密码
 
要实现加密解密可采用一些三方控件,MD5是单向不可逆算法,楼主可使用RSA算法
这个控件中以实现你想要的一切,里面有几十种不同的加解密的算法,最重要是它是免费的开源代码,在各版本的delphi中都能使用。
DCPcrypt Cryptographic Component Library v2 Beta 2
http://www.cityinthesky.co.uk/files/dcpcrypt2.zip
 
楼主,MD5的原理你从函数原码就能看得出来,它是一种不可逆的加密算法,它能把不等长度的字符串给加密成固定长度的字符串,不能反加密的原因也就在此。象你提出的问题是根本不可能实现的,如果你有必要再加密后进行解密,那就自己写一个能反转的函数也行。MD5只能把你想要进行对比的字符串进行MD5加密后去跟原来那个已加密的字符串进行对比了。
 
MD5算法是不可逆的,所以加密后不能还原出来,
要实现你的功能,用其它算法来加密吧。
 
MD5
单向算法
 
MD5算法是不可逆的
你可以的方法是:下一次输入密码的时候,再进行加密,看看是不是与数据库中存在的一样!
 
多人接受答案了。
 
后退
顶部