public static string Hash(string toHash)
    {
        MD5CryptoServiceProvider crypto = new MD5CryptoServiceProvider();
        byte[] bytes = Encoding.UTF7.GetBytes(toHash);
        bytes = crypto.ComputeHash(bytes);
        StringBuilder sb = new StringBuilder();
        foreach (byte num in bytes)
        {
            sb.AppendFormat("{0:x2}", num);
        }
        return sb.ToString();
    }

解决方案 »

  1.   

    是的 你可以自己发布一个web服务 自己去加密 比如加密的时候1对应的是acd&   a对应的是rga4 这样别人就没有办法破了 不过一般的公司都有自己的加密程序和方式
      

  2.   

    理论上讲MD5是无法解密的,但MD5加密的特点是,相同字符串加密后的字符串也是相同的,所以网上就出现了穷举解密法:把所有可能的密码都加密到MD5,然后就去穷举匹配,一旦在MD5加密之前还经过其他处理,嘿嘿。穷举更困难了
    所以一般情况下 简单加密过的密码再经过MD5加密后就不太可能被解密
      

  3.   

    MD5是一种加密散列函数,使用了 128 位的散列值。这个算法可以接收任意长度的消息作为输入,并对输入生成一个 128 位的 “指纹(fingerprint)” 或 “消息摘要(message digest)” 作为输出。这个算法并不需要很大的置换表。在这个算法中密钥的概念是,我们不可能产生两条具有相同消息摘要的消息。所以说解密的希望不大啊