Hash sha-256 Java

Как рациональнее преобразовать данные(строку) в хэш sha-256?


Ответы (1 шт):

Автор решения: AivanF.

Нужно получить соответствующий digest объект и использовать его:

import java.security.MessageDigest;

String text = "...";
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(text.getBytes());

Учтите, что статический метод MessageDigest.getInstance может бросать исключение NoSuchAlgorithmException (т.к список доступных алгоритмом может отличаться на разных машинах (хотя SHA256 должен быть у всех), этот список можно посмотреть так), что нужно указать в Вашем методе:

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public static byte[] getSha256(String text) throws NoSuchAlgorithmException {
    return MessageDigest.getInstance("SHA-256").digest(text.getBytes());
}
→ Ссылка