Как использовать хэш SHA-1 в качестве ключа AES - PullRequest
0 голосов
/ 30 октября 2018

Я хочу объединить хеширование и шифрование для большей безопасности. Поэтому я могу использовать ключ хеша, сгенерированный из SHA-1, в качестве ключа в AES. Например, у меня есть пароль «50», я вычисляю для него хэш SHA-1 (e1822db470e60d090affd0956d743cb0e7cdf113) и хочу передать эти байты в качестве ключа для AES-128. Какие вещи мне нужно заботиться при реализации этого? Должен ли я просто усечь после 128 бит или сделать какое-то свертывание?

Вот код:

import java.security.MessageDigest; 
public class MessageDigestExample {
public static void main(String[] args)throws Exception{
String input = "This is a message";
MessageDigest hash = MessageDigest.getInstance("SHA1");
System.out.println("input : " + input);
hash.update(Utils.toByteArray(input));
System.out.println("digest : " + Utils.toHex(hash.digest()));
} }

1 Ответ

0 голосов
/ 30 октября 2018

Хотя AES-128 обеспечивает достаточную безопасность, использование ключа от SHA-1, вероятно, не так.

Кроме этого:

Ваш вопрос - это скорее спор, чем простой ответ. Я хотел бы указать вам на этот ответ: https://stackoverflow.com/a/19863149/10353914

С предоставленной информацией ваш вопрос вроде бы устарел - лучше используйте PBKDF2, где вы можете установить размер выходного хэша равным 128 битам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...