我需要使用 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
这可能吗?
答案1
您必须使用 指定十六进制密钥-K
。请注意,您还需要-iv
为某些密码和操作模式指定 IV 。-nopad
如果您要解密原始 AES 块(即不使用填充),您还需要添加ECB 解密。请注意,如果用于加密多个区块,ECB 是非常不安全的。