unix下利用openssl对大文件进行aes加解密

  

,,由于项目需要文件传输过程中对其进行加解密,所以就在网上查找下加解密的相关介绍,最开始采用RSA加解密算法,先是利用RSAEuro折腾了半天编译的环节卡住了(编译报错查不出原因),后面网上发现利用openssl的实现方法比较简单。

,OpenSSL才能是一款功能强大的加密工具包,它集成了众多密码算法及实用工具。用rsa算法实现加解密很容易,但是只能处理小的数据文件(个人见解),处理大文件数据需要采用其他算法,

,,关于RSA算法的相关操作命令可以参考:

,,http://www.cnblogs.com/aLittleBitCool/archive/2011/09/22/2185418.html


现在介绍下利用openssl的aes算法加解密大数据文件,我写成了shell脚本,如下

加密encrypt.sh,其中密钥文件="内附。键”为16位字符的密码文件

# !/bin/sh   #功能:文件加密   if [$ #大敌;-ne  2,)   然后   ,,echo “用法:$ 0,要加密的文件名,加密后的文件名”   ,,echo “例如:$ 0,hello  hello.en”   ,,exit  1   fi   #国旗为输入的加密文件名与加密后的文件名是否一样,1为相同文件名   国旗=0   密钥文件=" enc.key "   INFILE=1美元   输出文件=2美元   if  [, -f  INFILE 美元;]   然后   ,,echo “开始加密INFILE美元”   其他的   ,,echo “错误:文件不存在! ! !”   ,,exit  1   fi   if  [,“INFILE美元”=,“外部档案美元”,)   然后   ,才能输出文件tmp=2.美元   ,,标志=1   fi   #对文件进行加密   openssl  enc  -e  aes - 128 cbc  -kfile  KEYFILE 美元;拷贝;INFILE 美元;-out 外部档案美元   if [$ ?大敌;-eq  0,)   然后   ,,,if  [, flag  -eq  1,)   ,,,   ,,,,,,mv  OUTFILE  INFILE美元   ,,,,,,echo “加密完成!生成加密文件为$ INFILE "   ,,,   ,,,,,,echo “加密完成!生成加密文件为$输出文件"   ,,fi   其他的   ,,,echo “错误:加密失败! ! !”   fi   exit  0

解密decrpt。sh

 

仅供参考,如有问题请指正,谢谢!

unix下利用openssl对大文件进行aes加解密