0

我在 C# 中有这段代码,它使用 IKVM 来利用 Java 的 SHA1 加密。

    public static string ComputeHash(params byte[][] bytes)
    {
        if (bytes == null) throw new ArgumentNullException("bytes");
        MessageDigest digest = MessageDigest.getInstance("SHA-1");
        foreach (var item in bytes)
        {
            if (item == null)
                if (bytes == null) throw new ArgumentNullException("bytes", "Inner array is null");
            digest.update(item);
        }
        string s = (new java.math.BigInteger(digest.digest())).toString(16);
        return s;
    }

有没有替代方法而不是为此使用 IKVM?

4

1 回答 1

0

如果我正确理解了这个问题,您可以使用 System.Security.Cryptography 中的Sha1CryptoServiceProvider类。

这是该页面的代码示例:

byte[] data = new byte[DATA_SIZE];

byte[] result; 

SHA1 sha = new SHA1CryptoServiceProvider(); 
    // This is one implementation of the abstract class SHA1.

result = sha.ComputeHash(data);

我不希望将该示例更改为采用锯齿状数组的示例太难。

于 2012-07-28T12:02:23.103 回答