UNIX下利用OpenSSL对大文件进行AES加解密
来源:互联网 发布:c语言点滴 epub 编辑:程序博客网 时间:2024/05/01 05:54
由于项目需要文件传输过程中对其进行加解密,所以就在网上查找下加解密的相关介绍,最开始采用RSA加解密算法,先是利用RSAEuro折腾了半天编译的环节卡住了(编译报错查不出原因),后面网上发现利用OpenSSL的实现方法比较简单。
OpenSSL是一款功能强大的加密工具包,它集成了众多密码算法及实用工具。用rsa算法实现加解密很容易,但是只能处理小的数据文件(个人见解),处理大文件数据需要采用其他算法,
关于RSA算法的相关操作命令可以参考:
http://www.linuxidc.com/Linux/2015-01/112071.htm
http://www.linuxidc.com/Linux/2015-01/112072.htm
http://www.linuxidc.com/Linux/2015-01/112073.htm
现在介绍下利用OpenSSL的aes算法加解密大数据文件,我写成了shell脚本,如下
加密encrypt.sh,其中KEYFILE="enc.key"为16位字符的密码文件
#!/bin/sh #功能:文件加密 if [ $# -ne 2 ] then echo "用法:$0 要加密的文件名 加密后的文件名" echo "例如:$0 hello hello.en" exit 1 fi#flag为输入的加密文件名与加密后的文件名是否一样,1为相同文件名 flag=0 KEYFILE="enc.key"INFILE=$1 OUTFILE=$2 if [ -f $INFILE ] then echo "开始加密$INFILE"else echo "error:文件不存在!!!" exit 1 fiif [ "$INFILE" = "$OUTFILE" ] then OUTFILE=$2.TMP flag=1 fi#对文件进行加密 openssl enc -e -aes-128-cbc -kfile $KEYFILE -in $INFILE -out $OUTFILE if [ $? -eq 0 ] then if [ flag -eq 1 ] then mv $OUTFILE $INFILE echo "加密完成!生成加密文件为$INFILE" else echo "加密完成!生成加密文件为$OUTFILE" fielse echo "error:加密失败!!!"fiexit 0
解密decrpt.sh
#!/bin/sh #功能:文件解密 if [ $# -ne 2 ] then echo "用法:$0 要解密的文件名 解密后的文件名" echo "例如:$0 hello.en hello.de" exit 1 fiflag=0 KEYFILE="enc.key"INFILE=$1 OUTFILE=$2 if [ -f $INFILE ] then echo "开始解密$INFILE"else echo "error:文件不存在!!!" exit 1 fiif [ "$INFILE" = "$OUTFILE" ] then OUTFILE=$2.TMP flag=1 fi#对文件进行解密 openssl enc -d -aes-128-cbc -kfile $KEYFILE -in $INFILE -out $OUTFILE if [ $? -eq 0 ] then if [ flag -eq 1 ] then mv $OUTFILE $INFILE echo "解密完成!生成解密文件为$INFILE" else echo "解密完成!生成解密文件为$OUTFILE" fielse echo "error:解密失败!!!"fiexit 0
通过OpenSSL提供FTP+SSL/TLS认证功能,并实现安全数据传输 http://www.linuxidc.com/Linux/2013-05/84986.htm
利用OpenSSL签署多域名证书 http://www.linuxidc.com/Linux/2014-10/108222.htm
OpenSSL 的详细介绍:请点这里
OpenSSL 的下载地址:请点这里
- UNIX下利用OpenSSL对大文件进行AES加解密
- 利用openssl中AES进行加解密
- 使用 openssl AES RSA 对文件以及数据进行加解密
- 使用 openssl AES RSA 对文件以及数据进行加解密
- Linux下利用openssl对文件进行加密和解密
- Linux下利用openssl对文件进行加密和解密
- 利用openssl里的库函数进行AES的加解密—cbc
- PHP利用openssl整理AES加解密类
- openssl aes 高级加解密
- 使用AES对文件的加解密
- 利用Java6和BouncyCastle对文件进行加解密
- 文件AES加解密
- OpenSSL 实现RSA AES加解密
- Openssl aes对称加密算法 加解密例程
- OpenSSL之AES加解密API使用
- 基于openssl的AES加解密 android
- 使用OpenSSL库的AES加解密
- AES 对字符串 加解密
- Android 属性动画探究(二)——TypeEvaluator解析与自定义
- 润乾报表使用Frame实现初始参数 报表为空效果
- MYSQL 百万条记录全文检索中文解决方案
- Hadoop Yarn的工作流程
- 编写开源库并发布到JitPack.io
- UNIX下利用OpenSSL对大文件进行AES加解密
- 第13篇研究webrtc官网(二)ninja安装(一)及安卓一对一测试问题
- 用AOP自动管理Session数据
- CSS选择器
- LeetCode笔记:58. Length of Last Word
- 最小生成树 kursal算法
- 康拓展开
- 堆-及其基本操作
- 最简单的驱动hello.c与Makefile模板