Encryption
openssl 通過指定 AES 256 密鑰而不是密碼來加密
我需要使用 aes-256-ecb 加密一些數據,因為後端程式碼期望它作為配置。我可以使用從密碼片語派生的密鑰進行加密:
openssl enc -p -aes-256-ecb -nosalt -pbkdf2 -base64 -in data-plain.txt -out data-encrypted.txt | sed 's/key=//g'
這使用派生密鑰加密並在控制台中輸出密鑰。
但是,我找不到如何使用生成的密鑰來執行此操作,例如:
- 使用以下命令生成 256 位密鑰:
openssl rand -base64 32 > key.data 2. 然後在加密期間使用此密鑰,例如:
openssl enc -p -aes-256-ecb -key=key.data -nosalt -pbkdf2 -base64 -in data-plain.txt -out data-encrypted.txt
這可能嗎?
您必須使用 . 指定十六進制密鑰
-K
。請注意,您還需要-iv
為某些密碼和操作模式指定 IV。您還需要添加-nopad
ECB 解密。請注意,如果用於加密多個塊,ECB 是非常不安全的。