我有在Java中AES自定義鍵,而不是16,24個或32字節
與鍵AES問題,這是我的代碼:
public Core(String key) {
try {
this.SecretKey = key;
this.ivspec = new IvParameterSpec(this.iv.getBytes());
this.keyspec = new SecretKeySpec(SecretKey.getBytes("UTF-8"), "AES");
try {
this.cipher = Cipher.getInstance("AES/CBC/NoPadding");
} catch (Exception e) {
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
每當我把這個字符串的「鑰匙」,它包含例如Pizza
,它只是產生錯誤。當我傳遞一個包含16個字節的字符串時,它可以工作。我想使用AES,但我不希望它僅限於16,24或32字節。我怎樣才能解決這個問題。
我剛剛被一個加密中小企業問道:「你爲什麼要使用非標準的密鑰大小? – zaph