From aa02d09576529cf1560cb798db393fe1603e97c8 Mon Sep 17 00:00:00 2001 From: samson <114964564+samsonjaw@users.noreply.github.com> Date: Sun, 21 Apr 2024 11:30:13 +0800 Subject: [PATCH] Update main.cpp --- main.cpp | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/main.cpp b/main.cpp index 7230cc5..5d4cd10 100644 --- a/main.cpp +++ b/main.cpp @@ -6,27 +6,27 @@ int main() {//g++ AES.cpp main.cpp -o program ios_base::fmtflags original_flags = cout.flags(); int BlockSize = 16; - //shiftrow & invshiftrow & sub & Invsub + //shiftrow & invshiftrow & sub & Invsub 完成測試 - cout << "{䴩Base64sXBECBBPpkcs7R\n"; - cout << "K_Ȥ䴩128\n"; + cout << "此程式支援Base64編碼、ECB、與pkcs7填充\n"; + cout << "密鑰僅支援128位\n"; while (1) { - cout << "===============================пܥ\===============================\n"; - cout << " 0.encrypt[K\n"; - cout << " 1.decryptѱK\n"; - cout << "JA(0/1)\n"; + cout << "===============================請選擇功能===============================\n"; + cout << " 0.encrypt加密\n"; + cout << " 1.decrypt解密\n"; + cout << "輸入你的選擇(0/1)\n"; int en_or_de; cin >> en_or_de; if (!en_or_de) {//en int textLength; - cout << "===============================榡=================================\n"; - cout << " 0.r`xs(NO`1bytexs@)\n"; - cout << " 1.Base64sX(|ରr`xsA[K)\n"; - cout << "JA(0/1)\n"; + cout << "===============================明文格式=================================\n"; + cout << " 0.字節儲存(就是常見的1byte儲存一個)\n"; + cout << " 1.Base64編碼(會先轉為字節儲存再加密)\n"; + cout << "輸入你的選擇(0/1)\n"; int ch_or_ba; cin >> ch_or_ba; - cout << "----пJ----\n"; + cout << "----請輸入明文----\n"; string tmp; cin.ignore(); @@ -42,12 +42,12 @@ int main() {//g++ AES.cpp main.cpp -o program unsigned char *plaintext = new unsigned char[textLength]; for (int i = 0; i < textLength; i++) { plaintext[i] = tmp[i]; } - cout << "R᪺16i: "; + cout << "明文填充後的16進位: "; for (const auto& item : tmp) { cout << hex << setw(2) << setfill('0') << (0xFF & static_cast(item)) << ' '; }cout << "\n\n"; cout.flags(original_flags); - cout << "----пJK_(r`xs128bit)----\n"; + cout << "----請輸入密鑰(字節儲存128bit)----\n"; unsigned char key[16]; getline(cin, tmp); for (int i = 0; i < 16; i++) { key[i] = tmp[i]; } @@ -59,21 +59,21 @@ int main() {//g++ AES.cpp main.cpp -o program string tt; tt.resize(textLength); for (int i = 0; i < textLength; i++) { tt[i] = ciphertext[i]; } - cout << "\nK(16i): "; + cout << "\n密文(16進位): "; for (const auto& item : tt) { cout << hex << setw(2) << setfill('0') << (0xFF & static_cast(item)) << ' '; }cout << '\n'; cout.flags(original_flags); tt = Base64_encode(tt); - cout <<"K(Base64): " << tt << "\n\n"; + cout <<"密文(Base64): " << tt << "\n\n"; delete[] plaintext; delete[] ciphertext; } else if (en_or_de) {//de int textLength; - cout << "===============================KȤBase64============================\n"; - cout << "пJBase64sXK\n"; + cout << "===============================密文僅支持Base64=========================\n"; + cout << "請輸入Base64編碼的密文\n"; string tmp; cin.ignore(); getline(cin, tmp); @@ -85,7 +85,7 @@ int main() {//g++ AES.cpp main.cpp -o program for (int i = 0; i < textLength; i++) { ciphertext[i] = tmp[i]; } - cout << "\n----пJK_(r`xs128bit)----\n"; + cout << "\n----請輸入密鑰(字節儲存128bit)----\n"; unsigned char key[16]; getline(cin, tmp); for (int i = 0; i < 16; i++) { @@ -105,12 +105,12 @@ int main() {//g++ AES.cpp main.cpp -o program pkcs7_unpadding(tt); textLength = tt.size(); - cout << "\nѱKG(16i): "; + cout << "\n解密結果(16進位): "; for (const auto& item : tt) { cout << hex << setw(2) << setfill('0') << (0xFF & static_cast(item)) << ' '; }cout << '\n'; cout.flags(original_flags); - cout << "ѱKG(۸`xs): "; + cout << "解密結果(自節儲存): "; for (int i = 0; i < textLength; i++) { cout << plaintext[i]; }cout << "\n\n"; @@ -119,4 +119,4 @@ int main() {//g++ AES.cpp main.cpp -o program delete[] ciphertext; } } -} \ No newline at end of file +}