如何在 .Net 6 中计算 SHA512/256?

问题描述 投票:0回答:1

如何在不使用外部库的情况下计算SHA512/256或SHA512/224?

在 .Net 6 中,可以计算 SHA512 哈希(文档)。这是我的例子:

    public string GetHashStringSHA512(string data)
    {
        using (SHA512 sha512 = SHA512.Create())
        {
            byte[] bytes = sha512.ComputeHash(Encoding.UTF8.GetBytes(data));

            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < bytes.Length; i++)
            {
                builder.Append(bytes[i].ToString("x2"));
            }
            return builder.ToString();
        }
    }
c# .net cryptography sha512
1个回答
0
投票

如评论中所述,.Net 库似乎未实现 SHA512/256 或 SHA512/224。

要使用外部库计算 SHA512/256 或 SHA512/224 ,需要实施规范。 Cryptology ePrint Archive 上有一个文档,其中包含一些示例代码。另请参阅NIST 示例。有多种开源解决方案也可用作您自己代码的起点,例如 wolfSSLSHA512 库,其中包括 SHA512/256 和 SHA512/224。

© www.soinside.com 2019 - 2024. All rights reserved.