我正在将我的Java代码转换为C#。我无法将以下函数从Java转换为C#。这个fumction正在调用Update方法两次。我已按照以下方式尝试了C#代码
SHA256 sh = SHA256.Create();
Encoding shEncoding = Encoding.UTF7;
byte[] data = shEncoding.GetBytes(sn);
byte hash = sh.ComputeHash(data);
但我不知道如何在C#中转换两个连续的更新函数调用。
String getSHA(byte[] sf,String sn,byte[] mac) throws NoSuchAlgorithmException
{
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(sf);
md.update(sn.getBytes());
byte[] hash = md.digest(mac);
StringBuilder sb = new StringBuilder();
for(byte b : hash) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
先谢谢。
您的帮助/指导对我有帮助。
答案 0 :(得分:0)
您可以在SHA256(Java中的〜TransformBlock
和TransformFinalBlock
)上使用update
和digest
,并使用Hash
属性检索哈希值。