1、加密脚本

sh script/encrypt.sh test01.sh test01-enc.sh -aes256

#!/bin/sh
#功能:文件加密
if [ $# -ne 3 ]
thenecho "用法:$0 要加密的文件名 加密后的文件名 加密方式"echo "例如:$0 hello hello.en aes"exit 1
fi
#flag为输入的加密文件名与加密后的文件名是否一样,1为相同文件名
flag=0
KEYFILE="/opt/mbfe/script/enc.key"
INFILE=$1
OUTFILE=$2
ENCRYPT_MODE=$3
if [ -f $INFILE ]
thenecho "开始加密$INFILE,加密方式为$ENCRYPT_MODE"
elseecho "error:文件不存在!!!"exit 1
fi
if [ "$INFILE" = "$OUTFILE" ]
thenOUTFILE=$2.TMPflag=1
fi
#对文件进行加密
openssl enc -e $ENCRYPT_MODE -kfile $KEYFILE -in $INFILE -out $OUTFILE
if [ $? -eq 0 ]
thenif [ $flag -eq 1 ]thenmv $OUTFILE $INFILEecho "加密完成!生成加密文件为$INFILE"elserm -rf $INFILEecho "加密完成!生成加密文件为$OUTFILE"fi
elseecho "error:加密失败!!!"
fi
exit 0

2、解密脚本

sh script/decrypt.sh test01-enc.sh.sh test01.sh -aes256

#!/bin/sh
#功能:文件解密
if [ $# -ne 3 ]
thenecho "用法:$0 要解密的文件名 解密后的文件名 解密方式"echo "例如:$0 hello.en hello.de aes"exit 1
fi
flag=0
KEYFILE="/opt/mbfe/script/enc.key"
INFILE=$1
OUTFILE=$2
DECRYPT_MODE=$3
if [ -f $INFILE ]
thenecho "开始解密$INFILE,解密方式为$DECRYPT_MODE"
elseecho "error:文件不存在!!!"exit 1
fi
if [ "$INFILE" = "$OUTFILE" ]
thenOUTFILE=$2.TMPflag=1
fi
#对文件进行解密
openssl enc -d $DECRYPT_MODE -kfile $KEYFILE -in $INFILE -out $OUTFILE
if [ $? -eq 0 ]
thenif [ $flag -eq 1 ]thenmv $OUTFILE $INFILEecho "解密完成!生成解密文件为$INFILE"elseecho "解密完成!生成解密文件为$OUTFILE"fi
elseecho "error:解密失败!!!"
fi
exit 0

3、秘钥文件(内容自己定义)  enc.key

4、加解密方式

加解密方式选择
-aes-128-cbc               -aes-128-cbc-hmac-sha1     -aes-128-cbc-hmac-sha256
-aes-128-ccm               -aes-128-cfb               -aes-128-cfb1
-aes-128-cfb8              -aes-128-ctr               -aes-128-ecb
-aes-128-gcm               -aes-128-ofb               -aes-128-xts
-aes-192-cbc               -aes-192-ccm               -aes-192-cfb
-aes-192-cfb1              -aes-192-cfb8              -aes-192-ctr
-aes-192-ecb               -aes-192-gcm               -aes-192-ofb
-aes-256-cbc               -aes-256-cbc-hmac-sha1     -aes-256-cbc-hmac-sha256
-aes-256-ccm               -aes-256-cfb               -aes-256-cfb1
-aes-256-cfb8              -aes-256-ctr               -aes-256-ecb
-aes-256-gcm               -aes-256-ofb               -aes-256-xts
-aes128                    -aes192                    -aes256
-bf                        -bf-cbc                    -bf-cfb
-bf-ecb                    -bf-ofb                    -blowfish
-camellia-128-cbc          -camellia-128-cfb          -camellia-128-cfb1
-camellia-128-cfb8         -camellia-128-ecb          -camellia-128-ofb
-camellia-192-cbc          -camellia-192-cfb          -camellia-192-cfb1
-camellia-192-cfb8         -camellia-192-ecb          -camellia-192-ofb
-camellia-256-cbc          -camellia-256-cfb          -camellia-256-cfb1
-camellia-256-cfb8         -camellia-256-ecb          -camellia-256-ofb
-camellia128               -camellia192               -camellia256
-cast                      -cast-cbc                  -cast5-cbc
-cast5-cfb                 -cast5-ecb                 -cast5-ofb
-des                       -des-cbc                   -des-cfb
-des-cfb1                  -des-cfb8                  -des-ecb
-des-ede                   -des-ede-cbc               -des-ede-cfb
-des-ede-ofb               -des-ede3                  -des-ede3-cbc
-des-ede3-cfb              -des-ede3-cfb1             -des-ede3-cfb8
-des-ede3-ofb              -des-ofb                   -des3
-desx                      -desx-cbc                  -id-aes128-CCM
-id-aes128-GCM             -id-aes128-wrap            -id-aes128-wrap-pad
-id-aes192-CCM             -id-aes192-GCM             -id-aes192-wrap
-id-aes192-wrap-pad        -id-aes256-CCM             -id-aes256-GCM
-id-aes256-wrap            -id-aes256-wrap-pad        -id-smime-alg-CMS3DESwrap
-idea                      -idea-cbc                  -idea-cfb
-idea-ecb                  -idea-ofb                  -rc2
-rc2-40-cbc                -rc2-64-cbc                -rc2-cbc
-rc2-cfb                   -rc2-ecb                   -rc2-ofb
-rc4                       -rc4-40                    -rc4-hmac-md5
-rc5                       -rc5-cbc                   -rc5-cfb
-rc5-ecb                   -rc5-ofb                   -seed
-seed-cbc                  -seed-cfb                  -seed-ecb
-seed-of

Shell文件加解密相关推荐

  1. java实现对文件加解密操作

    源文件: 加密后的文件: 解密后的文件: package com.gblfy.test;import java.io.*;/*** java 实现对文件加解密的方法** @author gblfy* ...

  2. GPG对文件加解密的简单实现

    解密时如何覆盖已经存在的解密后文件,而不是弹出询问框是否覆盖 初识GPG 加解密实现 gui加解密 生成密钥 命令行方式加解密 信任度设置 方法一 方法二 参考链接 解密时如何覆盖已经存在的解密后文件 ...

  3. 基于CH375的嵌入式USB文件加解密系统的设计

    基于CH375的嵌入式USB文件加解密系统的设计 [日期:2008-7-21] 来源:电子技术应用  作者:华中科技大学 电子与信息工程系, 湖北 武汉 430074 [字体:大 中 小] <s ...

  4. 文件加解密(任意文件类型的文件)

    直接上代码: 支持任意类型的文件的加密和解密 可以自由修改密钥 需要修改文件路径 文件加解密. #define _CRT_SECURE_NO_WARNINGS #include <stdlib. ...

  5. 国密 SM4 文件加解密

    国密算法SM4 对文件加解密 说明:调用开源bcprov-jdk15on 加密算法工具,使用SM4算法,对文件进行加密.解密:文件流的操作使用hutool工具包来实现. 引用依赖 <depend ...

  6. 密码技术应用--SM4文件加解密

    记录一下对一些稍大文件进行SM4加解密的实现,这里只列出了核心代码,其他不涉及的代码或者有任何疑问可以查看我之前写的密码技术专题博客 var key = []byte("1234567812 ...

  7. 密码技术应用--AES文件加解密

    记录一下对一些稍大文件进行AES加解密的实现,这里只列出了核心代码,其他不涉及的代码或者有任何疑问可以查看我之前写的密码技术专题博客 var key = []byte("1234567812 ...

  8. 文件加解密,文件操作

     1.fseek,ftell,fread,fwrite(简单文件加密) #define _CRT_SECURE_NO_WARNINGS  //去掉安全检查 #include <stdio.h ...

  9. android文件加解密开发,Android文件加密解密的实现

    [实例简介] 最近项目中需要用到加解密功能,言外之意就是不想让人家在反编译后通过不走心就能获取文件里一些看似有用的信息 [实例截图] [核心代码] TestCipher └── TestCipher ...

最新文章

  1. hdc mfc 画扇形图_使用echarts绘制条形图和扇形图
  2. 高并发场景下数据库的常见问题及解决方案
  3. [转]ghost手动备份及遇见的问题
  4. 脚本大全_抖音文案大全2020励志:抖音最火励志搞笑句子,直接套用上热门
  5. SpringSecurity 认证通过后显示当前认证用户名
  6. vue 得到枚举个数_Package - vue-enum
  7. fiddler之数据统计(statistics)
  8. ExtJS2.0.1 ColumnTree控件使用心得
  9. JS使用setInterval定时器导致前端页面卡死
  10. python 从入门到实践_Python编程从入门到实践日记Day36
  11. 团队-科学计算器-项目总结
  12. Thinkpad笔记本键盘拆卸
  13. (oralce)操作数据库
  14. 地下管线探测仪的原理与性能——TFN T-6000地下管线探测仪
  15. 关于接口连续调用,查询数据库数据不一致的情况
  16. 揭秘VR游戏开发:与传统3D差距仅10% 低延迟是核心
  17. C#+Socket 聊天室(实现公网通信 客户端-服务器端-客户端)
  18. USB接口Altium designer原理图PCB封装
  19. 千寻位置NTRIP网络基准站
  20. 妙不可言,Sklearn 做异常检测这么简单

热门文章

  1. 表访问方式----全表扫描(Full Table Scans, FTS)
  2. python 将多个df写入xlsx文件的ExcelWriter
  3. 两阶段法求解线性规划求解
  4. 从零开始部署一套脱单盲盒
  5. 请教 xhr 500解决办法
  6. 修改SpringBoot日志级别
  7. @font-face 网络字体的中文用法(一)
  8. HFSS的数据后处理
  9. 计算机与调制解调器之间接口为,调制解调器
  10. 微信小程序--家庭记账本开发--05