[密码学] C++ 实现 AES128 加密算法
概述
清理邮箱的时候翻出来的。
很久以前写的,理解加密算法用的,当时记得是还撸了两天晚上撸出来的代码,放上来留个纪念好啦。
补上Tutorial,就当考古吧。
写代码时候毕竟年轻,问题也不少,但现在这东西还能用!
文件link,utf-8编码。
编译
使用gcc编译(g++也可以)即可,需要头文件为:
#include <cstdio>
#include <cstring>
#include <cstdlib>
系统里一般都有的,命令: gcc AES-128.cpp -o aes128
。
加密操作
先指定密钥,使用 -k
参数(理论上你可以使用任何大于16Byte的文件作为密钥,反正只读前128bit):
先输入:
./aes128 -k key.txt
然后使用 -e
选择需要加密的文件:
./aes128 -k key.txt -e file2E.data
输出结果为result.aes
。
解密操作
还是用-k
指定密钥文件,-d
用于解密
./aes128 -k key.txt -d file2D.data
结果还是为result.aes
。
字符串
密钥指定都一样,使用-s
参数:
同时还会自动保存到result.aes
文件中。
解密字符串的话,还是用文件的方式解密哈。
演示
加解密演示视频:
其他问题可以问我。
代码写其实不好,高手指正哈。