我需要使用 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
然后在加密过程中使用此密钥,例如:
openssl enc -p -aes-256-ecb -key=key.data -nosalt -pbkdf2 -base64 -in data-plain.txt -out data-encrypted.txt
这可能吗?
您必须使用
-K
. 请注意,您还需要-iv
为某些密码和操作模式指定 IV。-nopad
如果您正在解密原始 AES 块(即不使用填充),您还需要添加ECB 解密。请注意,如果用于加密多个块,ECB 是高度不安全的。