c# 如何利用异或运算进行简单加密解密
2017-07-26 14:27 杨新华 阅读(6476) 评论(0) 收藏 举报利用“^”异或运算对字符串进行加密
原理:按位做“异或”运算是->位值相同得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();
}
浙公网安备 33010602011771号