Encryption

openssl 通過指定 AES 256 密鑰而不是密碼來加密

  • November 2, 2022

我需要使用 aes-256-ecb 加密一些數據,因為後端程式碼期望它作為配置。我可以使用從密碼片語派生的密鑰進行加密:

openssl enc -p -aes-256-ecb -nosalt -pbkdf2 -base64 -in data-plain.txt -out data-encrypted.txt | sed 's/key=//g'

這使用派生密鑰加密並在控制台中輸出密鑰。

但是,我找不到如何使用生成的密鑰來執行此操作,例如:

  1. 使用以下命令生成 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。您還需要添加-nopadECB 解密。請注意,如果用於加密多個塊,ECB 是非常不安全的。

引用自:https://unix.stackexchange.com/questions/723459