none
ASP.NET 2.0,md5生成的校验码和别人生成的不一样(别人用C++Builder做的)? RRS feed

  • 问题

  • 这是C#的代码
    protected void Button3_Click(object sender, EventArgs e)
        {
            string info = TextBox4.Text;

            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] bytes = md5.ComputeHash(Encoding.UTF8.GetBytes(info));
            string ret = BitConverter.ToString(bytes);
            //ret = ret.Replace("-","");
            TextBox5.Text = ret;
        }

    我校验的字符串是(              31012288845$~$郭小川$~$1970-08-26$~$A$~$310111197008260018$~$2$~$1-59$~$AR090039$~$02$~$沪D1609学$~$C1$~$1$~$310113$~$龚楠$~$340403198112101216$~$0$~$3100003020108014453$~$2010-09-05$~$C1$~$0$~$)
    (ASP.NET 2.0)生成的校验码为(1A2A1EBC008912113678FEAC1ED2B232)


    而用(C++Builder)项目中生成的校验码为(cf7dc54da221e347fe40d1a9c0dd39e3)
    为什么两个项目同样一个字符串生成的MD5校验码不一样?
    望各位MVP解释一下!

    2009年10月14日 7:00

答案

  • 你好 Encoding.UTF8.GetBytes(info)  如果这里使用的编码不同那么生成的校验码也不是相同的
    同时 通过BitConverter.ToString(bytes); 和Convert.ToBase64String等方法获得的值也是不相同的

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    • 已标记为答案 hu_772000 2009年10月15日 2:08
    2009年10月15日 1:22
    版主

全部回复

  • 检查输入的二进制串的长度和内容是否一致。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2009年10月14日 20:45
    版主
  • 你好 Encoding.UTF8.GetBytes(info)  如果这里使用的编码不同那么生成的校验码也不是相同的
    同时 通过BitConverter.ToString(bytes); 和Convert.ToBase64String等方法获得的值也是不相同的

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    • 已标记为答案 hu_772000 2009年10月15日 2:08
    2009年10月15日 1:22
    版主
  • 我这里的测试结果和你的又不相同


    md5(31012288845$~$郭小川$~$1970-08-26$~$A$~$310111197008260018$~$2$~$1-59$~$AR090039$~$02$~$沪D1609学$~$C1$~$1$~$310113$~$龚楠$~$340403198112101216$~$0$~$3100003020108014453$~$2010-09-05$~$C1$~$0$~$)=42430f40e33ca2dd361db823b4d5549d

    你确定你要hash加密的字符串是那么长一串吗?
    由于hash后是无法解密的 所以也不知道具体产生这样的校验码的原字符串是什么


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年10月15日 1:51
    版主
  • 感谢,各位MVP,谢谢大家的帮助!再次感谢!

    2009年10月15日 2:09