日期:2014-05-17  浏览次数:20447 次

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不可逆
------解决方案--------------------
换方法吧。。。。。
------解决方案--------------------
引用:
5个角的都不知道md5根本就不是加密算法?

据说山东大学某人解析了这个算法,不知道解析这个词用的对不起,小学老师死得早。
你一个红钻石都不知道这件事?
------解决方案--------------------
正是因为知道这个市,才知道有些人所谓的“解密”是多么不靠谱。

她“终于”证明了,原来确实可以用一种方法找到“碰撞”结果啊。例如你拿出一本有着8000字(因为单词)的莎士比亚的小说,于是王小云解释说,她找到了一种方法来用计算机生成一个有着2000万个乱码符号的文本,其md5值跟莎士比亚的这本小说的md5值恰好相等。

但是假设我们假上任意一个“防止胡乱碰撞”的条件呢?例如我们要求找到的东西的单词数量不能大于15000个,或者我们要求找到的内容的第一个词、第3000个词、最后一个词必须与莎士比亚的小说中相应位置的词一样,等等,那么就算1000个王小