天蓬老师2017-04-17 13:19:51
樓上的意思是一個數和同一個數異或兩次結果就是他本身:
std::string str3;
for (int i = 0; i < strCount; i++){
str3.append(1,str2[i]^(key[i%keyCount]));
}
這樣str3就跟str1一樣了。
天蓬老师2017-04-17 13:19:51
異或加密的解密過程就是對加密後的字串再進行一次異或,也就是說在把 str3 當成 str1 放到你的方法裡走一遍即可。
不過也真是神奇,你這個演算法把字串異或後出來的字串居然還可讀,也是夠絕。