openssl AES 加密/解密
AES算法 AES进行加/解密需要考虑下面三个设置。 密钥 使用的密钥长度为128/192/256位,这里以128位为例 初始向量 初始向量位128位 填充 AES以128位,即16字节为单位进行操作,如果明文长度不是16的整数倍就需要进行填充,openssl默认以PKCS#7方式进行填充。PKCS#7填充时将明文长度扩充为16的整数倍,每一个填充的字节值为填充的长度。 例如: 如明文长度为8,填充8个字节,每个字节均为0x8。DD表示明文,08为填充。 | DD DD DD DD DD DD DD DD 08 08 08 08 08 08 08 08 | 如明文长度为16,额外填充16个字节。DD表示明文,10为填充。 | DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD | 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 | openssl命令进行加/解密 1 指定密钥和初始向量 $ openssl enc -aes-128-cbc -in in.txt -out out.txt -K 12345678901234567890 -iv 12345678 将in.txt文件的内容进行加密后输出到out.txt中。这里通过-K指定密钥,-iv指定初始向量