C#SHA256可以转java吗

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();
}