比较2个哈希字节数组

时间:2018-08-15 15:30:31

标签: c# hash md5

考虑以下代码:

    MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
    byte[] hashedBytes;
    byte[] previousHashedBytes;

    UTF8Encoding encoder = new UTF8Encoding();
    // New hashedBytes array
    hashedBytes = md5Hasher.ComputeHash(encoder.GetBytes(someString + theValue));
    // previousHashedBytes retrieved from DB
    previousHashedBytes = GetPreviousValueFromDB();

然后,应用程序将hashedBytes插入数据库。我需要确保由于一项新政策,该hashedBytes值不能重复使用,因此我需要某种方式将现有的hashedBytes值与新的进行比较。

注意someString的值始终相同。

一个人如何比较previousHashedByteshashedBytes以查看它们是否相同?

1 个答案:

答案 0 :(得分:3)

基本上,如果您在DB中仅具有字节哈希,则要比较两个字节数组?

您可以在这里获取:Comparing two byte arrays in .NET

最适合您的选项之一是:

StructuralComparisons.StructuralEqualityComparer.Equals(hashedBytes,
 previousHashedBytes)