![使用 OpenSSL 的密钥文件作为密码](https://linux22.com/image/32443/%E4%BD%BF%E7%94%A8%20OpenSSL%20%E7%9A%84%E5%AF%86%E9%92%A5%E6%96%87%E4%BB%B6%E4%BD%9C%E4%B8%BA%E5%AF%86%E7%A0%81.png)
我收到一个任务来解密使用 aes 加密的二进制文件。我有一个 32 字节的二进制文件,它是解密的密钥。如果密钥是密码短语,我知道如何解密
openssl enc -d -aes-256-cbc -in file.out
在这种情况下,密钥是一个二进制文件。我该如何使用它?
答案1
添加-pass file:nameofkeyfile
到 OpenSSL 命令行。这会导致 OpenSSL 从指定文件中读取密码/密码短语,但其他方面则正常进行。
有关更多详细信息,请参见 openssl(1) ( ) 的手册页,man 1 openssl
特别是其“PASS PHRASE ARGUMENTS”部分,以及 enc(1) ( ) 的手册页man 1 enc
。
如果密钥文件实际上包含加密密钥(不是从中派生加密密钥的东西),那么您想使用-K
它。为此,您需要类似的东西:
-K $(hexdump -v -e '/1 "%02X"' < nameofkeyfile)
在 OpenSSL 命令行中而不是-pass
.hexdump
用于将密钥文件转换为 OpenSSL 想要的纯十六进制表示形式。