C#可以转java吗?
如下
byte[] bytValue = System.Text.Encoding.UTF8.GetBytes("待转字符串");
SHA256 sha256 = new SHA256CryptoServiceProvider();
byte[] retVal = sha256.ComputeHash(bytValue);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < retVal.Length; i++)
{
sb.Append(retVal[i].ToString("X2"));
}
return sb.ToString();
java如何平替这个方法,求告知
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.nio.charset.StandardCharsets;
public static String computeSHA256(String text) throws NoSuchAlgorithmException {
byte[] bytValue = text.getBytes(StandardCharsets.UTF_8);
MessageDigest sha256 = MessageDigest.getInstance("SHA-256");
byte[] retVal = sha256.digest(bytValue);
StringBuilder sb = new StringBuilder();
for (byte b : retVal) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public static String computeSha256Hash(String rawData) throws NoSuchAlgorithmException {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] bytes = rawData.getBytes(StandardCharsets.UTF_8);
byte[] hash = digest.digest(bytes);
StringBuilder sb = new StringBuilder();
for (byte b : hash) {
sb.append(String.format("%02X", b));
}
return sb.toString();
}