0
我必須生成一個用於AES加密/解密的隨機密鑰,並將此密鑰寫入UNIX中的文件。有人可以幫助我學習如何執行這個 ?如何生成AES密鑰並將密鑰寫入UNIX中的文件
我必須生成一個用於AES加密/解密的隨機密鑰,並將此密鑰寫入UNIX中的文件。有人可以幫助我學習如何執行這個 ?如何生成AES密鑰並將密鑰寫入UNIX中的文件
一種AES密鑰只是一些隨機字節16,24或32個字節的長度, - 取決於密鑰的大小,並且原則上可以存儲在文件系統作爲一個二進制文件。不過,我建議您將它放在Java密鑰庫中,並通過密碼保護它。您可以使用Java keytool做這一切,就像這樣:
keytool -genseckey -alias myKey -keyalg AES -keysize 128 -storepass passw0rd -keypass passw0rd -storetype JCEKS -keystore keystore.jks
然後,您可以從Java讀取如果像:
KeyStore keyStore = KeyStore.getInstance("JCEKS");
keyStore.load(new FileInputStream("keystore.jks"), "passw0rd".toCharArray());
Key key = keyStore.getKey("myKey", "passw0rd".toCharArray());
byte[] raw = key.getEncoded();
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
etc...
我會建議使用的搜索引擎 的http:// stackoverflow.com/questions/3451670/java-aes-and-using-my-own-key – tr4pt
只是好奇...你需要什麼?如果你正在嘗試加密通信,我會建議使用已經實現了SSL的標準庫,而不是滾動你自己的。 –
@MichaelAaronSafyan:我必須通過java類來進行一些加密/解密。我希望密鑰生成只發生一次,並且應該使用UNIX命令手動完成。我將從java類中的文件讀取此密鑰並執行加密/解密。 – user3244519