Во-первых, вам нужно четко понимать, что вы хотите сделать.Вы говорите, что хотите хешировать пароль, но код, который вы используете, предназначен для MAC ( Код аутентификации сообщения ), в частности, HMAC .
Хэши и MACэто разные вещи для разных целей (хотя HMAC предполагает использование хэша).Вы должны быть уверены, что используете именно то, что вам нужно.
Причина, по которой вас просят предоставить ключ, заключается в том, что MAC нужен ключ.Хэши не:
public byte[] hash(String password) throws NoSuchAlgorithmException {
MessageDigest sha256 = MessageDigest.getInstance("SHA-256");
byte[] passBytes = password.getBytes();
byte[] passHash = sha256.digest(passBytes);
return passHash;
}