计算MD5值为不同的字符串返回"0001..0E0F"

 天之苍 发布于 2022-12-23 18:03

我试图获得两个不同列表的MD5哈希,以便我可以轻松判断列表是相同还是不同.但是,即使它们具有不同的内容,我仍然为两个列表获得相同的MD5哈希值.

哈希1:000102030405060708090A0B0C0D0E0F

Hash2:000102030405060708090A0B0C0D0E0F

它们应该是不同的,因为列表的内容是不同的,对吧?

using System;
using System.Collections.Generic;
using System.Security.Cryptography;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main()
        {
            var md5Hash = MD5.Create();
            var list1 = new List { "1", "dog", "cat", "mouse" };
            var list2 = new List { "2", "dog", "cat", "mouse"};
            var md5 = new Md5Hash();
            var joined1 = string.Join(",", list1.ToArray());
            var joined2 = string.Join(",", list2.ToArray());
            var hash1 = md5.GetMd5Hash(md5Hash, joined1);
            Console.WriteLine("hash 1: {0}", hash1);
            var hash2 = md5.GetMd5Hash(md5Hash, joined2);
            Console.WriteLine("hash 2: {0}", hash2);
            Console.ReadKey();
        }


    }
}

我怀疑问题在于生成Md5hash的方法...

internal string GetMd5Hash(HashAlgorithm md5Hash, string input)
        {
            // Convert the input string to a byte array and compute the hash. 
            var data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input));

            // Create a new Stringbuilder to collect the bytes 
            // and create a string.
            var stringBuilder = new StringBuilder();

            // Loop through each byte of the hashed data  
            // and format each one as a hexadecimal string. 

            for (var i = 0; i < data.Length; i++)
            {
                stringBuilder.Append(i.ToString("X2"));
            }

            // Return the hexadecimal string. 
            return stringBuilder.ToString();
        }

var data变量确实在两个列表之间返回不同的数据,但该方法返回相同的字符串.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有