[密码学] C++ 实现 AES128 加密算法

概述

清理邮箱的时候翻出来的。
很久以前写的,理解加密算法用的,当时记得是还撸了两天晚上撸出来的代码,放上来留个纪念好啦。

补上Tutorial,就当考古吧。

写代码时候毕竟年轻,问题也不少,但现在这东西还能用!

文件linkutf-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文件中。

解密字符串的话,还是用文件的方式解密哈。

演示

加解密演示视频:

link

其他问题可以问我。

代码写其实不好,高手指正哈。

posted @ 2016-12-20 16:35  guoyunzhe  阅读(2390)  评论(0编辑  收藏  举报