openssl入门--2--对称算法指令

来源:互联网 发布:power map for mac 编辑:程序博客网 时间:2024/06/10 18:31

上一章表格里面说了,enc是所有对称算法指令的统一入口(其实前面不加上enc也能执行,但是enc有很多优点哦!)

1、下面是指令
这里写图片描述
这里写图片描述
这里写图片描述
2、下面是指令参数
1、ciphername
可以忽略,写不写效果完全一样,因为默认使用了这个东西
2、in out
指定输入和输出文件,就是 要加密的文件 和 加密完成后的文件
3、口令输入选项pass,k和kfile
pass选项提供了最灵活的口令输入方式,输入的源可以是标准输入设备、指令行直接输入、提示输入、文件、环境变量和文件描述符
k选项和kfile选项都是为了兼容以前的版本而保留的,它们的功能目前都可以使用pass选项来实现。k选项后面输入的参数是口令字符。kfile选项后面输入的参数是作为口令的文件名,当然,必要的时候应该也提供路径。Openssl的口令文件以第一行作为输入口令。
4、e和d选项
e代表加密操作(encryption),d代表解密操作(decription)
5、base64,a和A选项
base64和a一样代表对文件进行base64编码,A参数表示把多行合并成一行
6、K和IV选项
如果你使用这两个选项,意味着你不相信Openssl从口令提取加密密钥和初始向量的方法,而使用自己直接提供的加密密钥和初始向量,那么这时候你就不再需要使用口令选项。K选项后面的参数是加密密钥,是以十六进制的方式表示,长度不能超过64个字符。IV选项只有在分组加密算法的某些模式才需要,其参数也是以十六进制的方式表示,长度不能超过32个字符
7、salt nosalt S选项
salt表示提取口令的时候使用盐值,可以增强安全性,其实不用管这三个参数,他们默认生效
8、engine选项
使用第三方加密设备进行加密,用openssl engine -t 命令查看支持的设备
9、p和P选项
p选项打印出对称加密算法真正使用的加密密钥和初始向量,输出的格式是十六进制的形式。如果出示了P选项,则程序在打印出加密密钥和初始向量后就立刻退出,而不执行真正的加密或解密操作。
10、nopad
不使用默认的补丁方式,不用管,用不到
11、bufsize
指定I/O的缓存,比如-bufsize 256 或者-bufsize 8k
12、debug
调试用的,基本用不到,能用到的时候你已经是专家了,也不用看入门教程
3、实际操作一下
对称加解密
1、openssl -none -in 111 -out 222 #none表示啥也不干,这句话代表把文件111的内容复制到222里面去
2、openssl enc -a -in 111 -out 222 #把文件111编码,结果输出到222里面去
解密:openssl enc -a -in 111 -out 222 -d
3、openssl enc -des-ede3-cbc -in 111 -out 222 #用des-ede3-cbc加密
解密:openssl enc -des-ede3-cbc -in 111 -out 222 -d
4、openssl enc -des-ede3-cbc -in 111 -out 222 -e -a #用des-ede3-cbc加密,然后编码
解密:openssl enc -des-ede3-cbc -in 111 -out 222 -d -a
假设你使用了支持pkcs11接口的硬件加密设备
5、openssl enc -des-ede3-cbc -in 111 -out 222 -e -a -engine pkcs11
解密:openssl enc -des-ede3-cbc -in 111 -out 222 -d -a -engine pkcs11
0 0
原创粉丝点击