c# 如何利用异或运算进行简单加密解密
2024-09-28 12:28:25
利用“^”异或运算对字符串进行加密
原理:按位做“异或”运算是->位值相同得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();
}
最新文章
- mysql 设置max_allowed_packet 大小的办法
- C#中combobox不可编辑与不可选择
- Android之通过向WebService服务器发送XML数据获取相关服务
- HTML xmlns
- SSIS_TXT有规则资料导入到EXCEL
- ReactiveCocoa入门教程——第二部分(转)
- C#使用SOAP调用Web Service
- MinGW安装教程
- C语言,数据类型
- 使用React Native一年后的感受
- eclipse jsp html 格式化 format
- 个人从源码理解angular项目在JIT模式下的启动过程
- ASP.NET Core轻松入门之Middleware管道模型
- Git官方推荐用书
- 2018年web最新面试知识点总结
- mysql命令行导入结构化数据
- hibernate_annotation字段映射位置
- Vue组件的定义方式
- 一个进程间同步和通讯的 C# 框架
- C语言实现全排列和回溯法总结
热门文章
- servlet--百度百科
- 【Java】Java_08 字符型与布尔值
- C#运用反射调用其他程序集中的代码
- Java之旅(2)—反射
- SVN环境搭建(2)
- 使用SVN管理unityproject
- javascript (function() { /* code */ })() 自执行函数
- poj 3666 河南省第七届程序设计D题(山区修路)
- 使用pycharm手动搭建python语言django开发环境 - 使用git管理代码(二)
- Vue 组件3 作用域插槽