将哈希字节数组转换为从其生成的字符串

时间:2019-01-13 18:14:17

标签: c# arrays hash

我有一个使用以下代码从字符串生成的哈希值:

public static byte[] GetHash(string inputString)
        {
            HashAlgorithm algorithm = MD5.Create();  
            return Algorithm.ComputeHash(Encoding.UTF8.GetBytes(inputString));
        }

现在,我想取回从其生成哈希值的字符串,我该怎么做? 有没有更好的建议来加密一些数据,以便我可以再次取回它们?

我尝试了此方法,但未返回该字符串:

public string ToHex(byte[] bytes, bool upperCase)
        {
            StringBuilder result = new StringBuilder(bytes.Length * 2);

            for (int i = 0; i < bytes.Length; i++)
                result.Append(bytes[i].ToString(upperCase ? "X2" : "x2"));

            return result.ToString();
        }

另外,我尝试了这个:

public static string GetHashString(string inputString)
        {
            StringBuilder sb = new StringBuilder();
            foreach (byte b in GetHash(inputString))
                sb.Append(b.ToString("X2"));

            return sb.ToString();
        }

0 个答案:

没有答案