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

概述

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

补上Tutorial,就当考古吧。编码

写代码时候毕竟年轻,问题也很多,但如今这东西还能用!加密

文件linkutf-8编码。.net

编译

使用gcc编译(g++也能够)便可,须要头文件为:code

#include <cstdio>
#include <cstring>
#include <cstdlib>

系统里通常都有的,命令: gcc AES-128.cpp -o aes128视频

加密操做

先指定密钥,使用 -k 参数(理论上你能够使用任何大于16Byte的文件做为密钥,反正只读前128bit):blog

先输入:utf-8

./aes128 -k key.txt

而后使用 -e 选择须要加密的文件:字符串

./aes128 -k key.txt -e file2E.data

输出结果为result.aesget

解密操做

仍是用-k指定密钥文件,-d 用于解密

./aes128 -k key.txt -d file2D.data

结果仍是为result.aes

字符串

密钥指定都同样,使用-s参数:

同时还会自动保存到result.aes文件中。

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

演示

加解密演示视频:

link

其余问题能够问我。

代码写其实很差,高手指正哈。

相关文章
相关标签/搜索