1、对称加密算法概述
openssl的加密算法库提供了丰富的对称加密算法,我们可以通过openssl提供的对称加密算法指令的方式使用,也可以通过调用openssl提供的API的方式使用。
openssl的对称加密算法指令主要用来对数据进行加密和解密处理,openssl基本上为所有其支持的对称加密算法都提供了指令的方式的应用,
这些应用指令的名字基本上都是以对称加密算法本身的名字加上位数、加密模式或者其他属性组合而成。
例如DES算法的CBC模式,其对应的指令就是des-cbc。
可以通过命令查看当前版本的openssl支持的对称加密算法,例如CentOS7 openssl版本及支持对称加密算法指令如下:
[root@backup~]# openssl enc --help
unknown option'--help'options are-in input file-out output file-pass pass phrase source-e encrypt-d decrypt-a/-base64 base64 encode/decode, depending on encryption flag-k passphrase isthe next argument-kfile passphrase isthe first line of the file argument-md the next argument isthe md to use to create a keyfrom a passphrase. See openssl dgst -h forlist.-S salt in hex isthe next argument-K/-iv key/iv in hex isthe next argument-[pP] print the iv/key (then exit if -P)-bufsize buffer size-nopad disable standard block padding-engine e use engine e, possibly a hardware device.
Cipher Types-aes-128-cbc -aes-128-cbc-hmac-sha1 -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-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-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