首页 新闻 搜索 专区 学院

关于C# MD5加密的疑惑

0
悬赏园豆:50 [已解决问题] 解决于 2015-10-27 20:46

如下图所示,为什么使用两种方法加密结果长度会不一致,还有两种方法间有什么区别?

截图

 

代码如下:

//方法一加密
        private void button1_Click(object sender, EventArgs e)
        {
            //加密的字符串
            string source = textBox1.Text;
            //创建MD5实例
            MD5 md5 = MD5.Create();
            //计算哈希值
            byte[] result = md5.ComputeHash(Encoding.ASCII.GetBytes(source));
            string re= "";
            //历遍result的值
            for (int i = 0; i < result.Length; i++)
            {
                re += result[i].ToString("X");
            }
            textBox2.Text = re;
        }
 //方法二加密
        private void button3_Click(object sender, EventArgs e)
        {
            string input = textBox1.Text;
            Encoding.ASCII.GetBytes(input);
            textBox3.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(input, "MD5");
        }
逍遥橙子的主页 逍遥橙子 | 初学一级 | 园豆:159
提问于:2015-10-26 15:11
< >
分享
最佳答案
0
private void button1_Click(object sender, EventArgs e)
{
    //加密的字符串
    string source = textBox1.Text;
    //创建MD5实例
    MD5 md5 = MD5.Create();
    //计算哈希值
    byte[] result = md5.ComputeHash(Encoding.ASCII.GetBytes(source));
    string re= "";
    //历遍result的值
    for (int i = 0; i < result.Length; i++)
    {
        re += result[i].ToString("X2");
    }
    textBox2.Text = re;
}

FormsAuthentication.HashPasswordForStoringInConfigFile() 是X2格式输出的.  因为你上面是X. 所以会有一点不同. 

收获园豆:40
李丶GuanYao | 小虾三级 |园豆:1228 | 2015-10-26 15:48
其他回答(1)
0

第一种方式有一句写错了。

这一句写错了:re += result[i].ToString("X");

应该是这样子写: re += result[i].ToString("X2");

完整的代码如下:

 

            //加密的字符串
            string source = "admin";
            //创建MD5实例
            MD5 md5 = MD5.Create();
            //计算哈希值
            byte[] result = md5.ComputeHash(Encoding.Default.GetBytes(source));
            string re = "";
            //历遍result的值
            for (int i = 0; i < result.Length; i++)
            {
                re += result[i].ToString("X2");
            }
收获园豆:10
田麦成 | 园豆:2004 (老鸟四级) | 2015-10-26 15:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册