c# 如何利用异或运算进行简单加密解密
2017-07-26 14:27 杨新华 阅读(6414) 评论(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(); }