[密碼學] 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

其餘問題能夠問我。

代碼寫其實很差,高手指正哈。

相關文章
相關標籤/搜索