在UNIX上使用openssl逐行加密文件

时间:2018-11-09 06:48:02

标签: unix encryption openssl sas aes

我需要按行加密包含一个CLIENT_ID的文件。

当我使用 openssl enc -k jesuislacle -aes256 -base64 -e -in &_fidat/num_tie_dmp.csv -out &_fidat/decrypted_numtie.csv,我加密了整个文件。 但是我想要的是逐行加密。即

我原来有:

ABCDEC
FGHHIJ
KLMNOP
QRSTUV

我想要什么:

QHXrpv3ah0qEPBECCt1//PBKiugmWYMuE+WaA4r9Rgc#
nAca0Pb6bH1cQRfkO9wReY+X6dgl44BKE/nKSFBLM+o#
UjTJsoHoLAC0GeqqImxDXX9znUtd7dGm4VODZ+T7lvM#
dcU+H+jd9RZZqweDu1nnJDWMlKjxW2Hc+Q2uAW1tQfk#

目前,我为每个ID启动此命令X次。 但是我可以加密超过10000个ID。得到结果需要几个小时。太多了。

什么是最好的方法。 我在SAS 9.3,UNIX上,并且必须在AES 256中加密而不是MD5(感谢我的DPO :-))

感谢您的帮助。 杰罗姆(Jérome)

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

while read line; do 
  echo "$line" | openssl enc -k jesuislacle -aes256 -base64 -e; 
done <infile >outfile

它一一读取文件的所有行,并使用指定的密钥对其进行加密。