MD5解密
加密方法如下 帮忙写一个解密函数
public string EncryptString(string str)
{
ASCIIEncoding ASC = new ASCIIEncoding();
byte[] arrPwd = ASC.GetBytes(str + "jm");
MD5 md5 = new MD5CryptoServiceProvider();
byte[] arrHashPwd = md5.ComputeHash(arrPwd);
//转成字符串,表示十六进制值
string sHashPwd = "";
foreach (byte b in arrHashPwd)
{
if (b < 16)
sHashPwd = sHashPwd + "0" + b.ToString("x");
else
sHashPwd = sHashPwd + b.ToString("x");
}
return sHashPwd;
}
------解决方案--------------------MD5不可逆吧?能解密?
------解决方案--------------------你可以认为md5不可逆,你还不如自己搞个字符串加密算法呢,那样随便你控制加密解密
------解决方案--------------------MD5是摘要算法,
打个比方
一个字符串
1234567890
摘要出来的结果是368
你能从368推导出原来的字符串么
------解决方案--------------------MD5不可逆
------解决方案--------------------换方法吧。。。。。
------解决方案--------------------
据说山东大学某人解析了这个算法,不知道解析这个词用的对不起,小学老师死得早。
你一个红钻石都不知道这件事?
------解决方案--------------------正是因为知道这个市,才知道有些人所谓的“解密”是多么不靠谱。
她“终于”证明了,原来确实可以用一种方法找到“碰撞”结果啊。例如你拿出一本有着8000字(因为单词)的莎士比亚的小说,于是王小云解释说,她找到了一种方法来用计算机生成一个有着2000万个乱码符号的文本,其md5值跟莎士比亚的这本小说的md5值恰好相等。
但是假设我们假上任意一个“防止胡乱碰撞”的条件呢?例如我们要求找到的东西的单词数量不能大于15000个,或者我们要求找到的内容的第一个词、第3000个词、最后一个词必须与莎士比亚的小说中相应位置的词一样,等等,那么就算1000个王小