基于c#的windows基础设计(学习日记1)【关于异或运算】
来源:互联网 发布:js settimeout管理 编辑:程序博客网 时间:2024/06/05 21:51
第一次接触异或运算,总体来说比哈希算法简单的多,无论是理解还是代码的难易度,唯一不好的是在固定了密钥之后,随机性就小了很多,所以安全性比起哈希算法还是有所差距。
原理在网站上很多都有所以就不再赘述了。程序的正确性尚不可知,不管了。
直接贴代码:
static void Main(string[] args)
{
int i,n;
string s_result=null, s_text, s_key;
char ch;
Console.WriteLine("请输入需要加密的字符串:");
s_text = Console.ReadLine();
Console.WriteLine("请输入加密的密钥:");
s_key = Console.ReadLine();
i f (s_text.Count() != s_key.Count())//判断长度是否相等
{
Console.WriteLine("加密字符串和字符串长度不等!");
}
else
{
for (i =0;i<= s_key.Length - 1; i++)//第一层循环把密钥的数字提取出来
{
n = s_key[i] - '0';
for (i = 0; i <= s_text.Length - 1; i++)//把字符类型转换为char
{
s_result = (char)(s_text[i] ^ n)+s_result;//进行异或运算
}
}
Console.WriteLine("加密后的字符串是:{0}",s_result);//输出结果
}
Console.ReadKey();
//System.ApplicationI
System.Environment.Exit(0);
}
- 基于c#的windows基础设计(学习日记1)【关于异或运算】
- 基于c#的windows基础设计(学习日记1)【关于异或运算】
- 【C#基础学习】学习日记1
- C#异或运算
- 基于异或(^)运算的数值交换运算
- 关于位异或运算的妙用
- 关于异或运算的一个问题
- C#学习日记1
- 【C#基础学习】学习日记2
- C# 异或运算符
- java基础-^ 异或运算
- 基于C#的Windows定时关机系统的设计
- C#运算符之异或运算
- Kademlia: 基于异或运算的P2P信息系统
- 转贴: Kademlia: 基于异或运算的P2P信息系统
- Kademlia: 基于异或运算的P2P信息系统(翻译稿)
- c# 委托的学习日记
- c# 委托的学习日记
- Makefile基础教程 1
- Leetcode:93. Restore IP Addresses(Week1, Medium)
- paper read weekly(five)
- LeetCode-Jump Game & Jump Game II
- synchronized同步锁放在对象上有效
- 基于c#的windows基础设计(学习日记1)【关于异或运算】
- Makefile基础教程 2
- 数据结构上机实践第二周项目3——体验复杂度
- leetcode 445. Add Two Numbers II
- angularjs学习总结 详细教程
- matlab2c使用c++实现matlab函数系列教程-range函数
- Github上的iOS App源码 (中文)
- LeetCode OJ-129.Sum Root to Leaf Numbers
- Tomcat+JNDI配置