利用“^”異或運算對字符串進行加密
原理:按位做“異或”運算是->位值相同得1,不同得0,如下計算
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
例如:
< 加密過程:>
原解釋的二進制為 1 1 0 0 ----原文
設定的key的二進制為 0 1 1 0 ----密鑰
兩者做“異或”結果為 0 1 0 1 ----密文
< 解密過程:>
0 1 0 1 ----密文
0 1 1 0 ----密鑰
兩者“異或”就得到了 1 1 0 0 ----原文
使用c# 實現如下:
/// <summary> /// 異或的加密解密 /// </summary> /// <param name="str">原文/密文字符串</param> /// <returns>原文/密文字符串</returns> public static string BCutEncrypt(string str) { char emblem = '\n';//密鑰 StringBuilder buffer = new StringBuilder(); char[] chars = str.ToCharArray(); foreach(char ch in chars) { char temp = (char)(ch ^ emblem); buffer.Append(temp); } return buffer.ToString(); }