簡體   English   中英

如何使用SHA-1哈希作為AES密鑰

[英]How to use SHA-1 hash as AES key

我想結合使用哈希和加密來提高安全性。 因此,我可以使用從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()));
} }

盡管AES-128提供了足夠的安全性,但使用SHA-1中的密鑰可能不是這樣。

除此之外:

您的問題更多是辯論,而不是容易回答。 我想為您指出這個答案: https : //stackoverflow.com/a/19863149/10353914

使用提供的信息,您的問題有點過時了-更好地使用PBKDF2,您可以在其中將輸出哈希大小設置為128位。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM