openssl加密文本单行输出

时间:2014-10-14 16:37:44

标签: encryption openssl aes command-line-interface

我正在加密openssl中的json字符串。当它打印出来时,我得到了多线路输出,我需要它在单行中,用于CLI中的存储和可用性。

运行命令:echo '{"foo":"this is fun","bar":"this is also fun","numbers":123456}' | openssl enc -aes-256-cbc -a 通过:pass

获取: U2FsdGVkX1+u90MyWMyFtrrlzFSLcuNk00Ax5XLJhzSMpuUNxwdZQgdkxSmT3KEP LMGz5I2imE9RP0BvMAPnUq0we98bprtxAnZMHLSntfl2tRSqoyMDvW6P3+Vkr2jZ

解密我运行:echo "U2FsdGVkX1+u90MyWMyFtrrlzFSLcuNk00Ax5XLJhzSMpuUNxwdZQgdkxSmT3KEP LMGz5I2imE9RP0BvMAPnUq0we98bprtxAnZMHLSntfl2tRSqoyMDvW6P3+Vkr2jZ" | openssl enc -aes-256-cbc -d -a

但是这个命令不适用于多行,如果我把文件放到文件中,而cat文件就可以了,它可以工作,但是我需要在数据库中存储为字符串,不带多行并且能够在CLI中运行decrypt命令。

是否有人知道如何使用aes进行加密,或者在CLI中使用aes加密并能够获得单行输出?

1 个答案:

答案 0 :(得分:5)

您只需将OpenSSL中的-A开关与-a开关一起使用即可生成一条线。您可以对加密和解密执行此操作。