想知道是否有人可以帮助我使用 openssl 或类似的东西。在Solaris盒子中,我通常这样做:
decrypt -a aes -k my.key -i mypasswd.aes.cr > /tmp/tmp.file
然后修改tmp文件里面的一些密码,然后再次加密
encrypt -a aes -k my.key -i /tmp/tmp.file -o mypasswd.aes.cr
但是在Linux中我没有solaris命令,那么有没有办法在Linux上使用相同的文件做同样的事情?我尝试使用 openssl ,似乎有很多选项和参数。我尝试了其中的一些,例如以下命令:
bash-4.2$ openssl aes-128-cbc -d -pass file:my.key -in mypasswd.aes.cr -out /tmp/tmp.file
bad magic number
bash-4.2$
我不知道我需要使用什么选项,太多了!
注意:似乎 mypasswd.aes.cr 基于默认的 aes 128 位加密
提前致谢!
答案1
如果您有权访问openssl
,则可以使用开放式SSLenc
选项加密/解密文件。
例如:
$ openssl enc -bf -a -in data.txt -out data.enc
enter bf-cbc encryption password:
Verifying - enter bf-cbc encryption password:
将使用 Blowfish CBC 进行加密,并以Base-64 编码格式data.txt
存储加密数据。data.enc
您可以通过以下选项使用密钥文件-kfile
:
$ openssl enc -aes128 -a -in data.txt -out data.enc -kfile my.key
加密数据可能与 Solaris encrypt
/decrypt
命令兼容,也可能不兼容。您必须测试兼容性。
您可以输入
$ openssl enc ciphers
获取您的 OpenSSL 版本支持的密码列表。
请注意,将密钥文件与其保护的数据一起存储并不是很安全。