Jav*_*eef 5 command-line linux-mint openssl
我得到了解密使用 aes 加密的二进制文件的任务。我有一个 32 字节的二进制文件,它是解密的密钥。如果密钥是密码,我知道如何使用
openssl enc -d -aes-256-cbc -in file.out
Run Code Online (Sandbox Code Playgroud)
在这种情况下,密钥是一个二进制文件。我如何使用它?
添加-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)
Run Code Online (Sandbox Code Playgroud)
在 OpenSSL 命令行而不是-pass
. hexdump
用于将密钥文件转换为 OpenSSL 想要的纯十六进制表示。