利用“^”異或運算對字符串進行加密
原理:按位做“異或”運算是->位值相同得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();
}
