《C++程式設計語言》7.10_9 簡單C++加密程式
阿新 • • 發佈:2019-01-06
/*-------------------------------------------------- 寫一個加密程式, 它從cin讀入, 並將編碼後的字元序列寫到cout. 你 可以採用如下的簡單加密模式: 字元c的加密形式是c ^ key[i], 其中 key是通過命令列引數提供的一個字串. 這個程式以迴圈的方式使用 key中的字元,直到讀完全部輸入. 用同一個key重新加密編碼後的正文 就能得到原來的正文. 如果不提供key(即提供空字串), 則不做加密. --------------------------------------------------*/ #include <iostream> #include <string> using namespace std; int main(int argc, char* argv[]) { string str, key; if (argc > 1) { key = argv[1]; cout << "The key = \"" << key << "\";" << endl; } else cout << "No key!\n"; cout << "Please input a string:\n"; cin >> str; if (key.length() < str.length()) { int j = 0; for (int i = 0; i < str.length(); i++) { str[i] = str[i] ^ key[j]; j++; if (j = key.length()) j = 0; } } else { for (int i = 0; i < str.length(); i++) str[i] = str[i] ^ key[i]; } cout << "Encrypted characters:\n" << str << endl; return 0; }