前两天发布了《字符串AES对称加密》的博文,虽然很相似,但还是觉得有必要介绍下如何对文件进行AES对称加密、解密。文件加密实际就是读出文件内容,再进行字符串加密。
还是分别用openssl命令和C语言方式实现相同的AES对称加、解密功能。
准备工作:新建文件 file_in.txt,内容随意,我在文件里输入的 "123456"。
一、openssl命令对文件AES对称加密、解密
1、使用OpenSSL命令对文件加密
$ openssl aes-256-cbc -e -nosalt -in file_in.txt -out file_cmd_en.txt -pass pass:aes_password
- -aes-256-cbc:使用AES算法的256位密钥和CBC模式;
- -e:加密操作;(-d 表示解密)
- -nosalt:不使用盐值。在AES-CBC模式中,盐值通常是随机生成的,以增加密钥的强度。
- -in:表示输入文件,后面应该紧跟输入文件的文件名
- -out:表示输出文件,后面应该紧跟输出文件的文件名。
- -pass pass:<password> 指定了加密的密钥
将file_in.txt文件加密(没有使用base64编码)生成加密文件 file_cmd_en.txt,内容如图:
![]()
2、使用OpenSSL命令对文件解密
$ openssl aes-256-cbc -d -nosalt -in file_cmd_en.txt -out file_cmd_de.txt -pass pass:aes_password
将加密文件 file_cmd_en.txt 解密,生成 file_cmd_de.txt ,内容与加

本文介绍了如何使用openssl命令和C语言实现AES对文件的对称加密和解密,包括加密步骤、解密过程以及加密结果中文件换行符的影响。


被折叠的 条评论
为什么被折叠?



