XOR加密
来源:互联网 发布:php 订单发货系统 编辑:程序博客网 时间:2024/05/18 09:14
[代替密码和换位密码]
在计算机出现前,密码学由基于字符的密码算法构成。不同的密码算法是字符之间互相代替或者互相之间换位,好的密码算法是结合这两种方法,每次进行多次运算。现在的密码学变得复杂了,但原理没有改变。本质的变化是:算法对位而不是对字母进行变换。实际上这只是字母表长度上的改变,从26个元素变为2个元素。大多数好的密码算法仍然是代替和换位的元素组合。
[简单异或]
下面是一个简单异或的对称加解密算法。明文用一个关键字做异或运算以产生密文。因为用同一值去异或两次就可以恢复出原来的值,所以加密和解密都严格采用同一程序。即:
P XOR K = C
C XOR K = P
这种方法比较简单,没有实际的保密性,甚至没有计算机也能够破译。
一种思路是使用重合码计数法找出密钥的长度,按此长度移动密文,并且和自身异或。
[异或的好处]
在算法中经常会用到异或运算。比如下面两种常见的情况:
(1) 在1,1,2,2,3,3...k,k...n,n个数的序列中,删除任意一数并求此数。
此时用XOR就比较方便,如果通过求和的话,要考虑溢出的情况,而用XOR绝对不会发生溢出。
(2) 交换两个整形变量。
x^=y;
y^=x;
x^=y;
运行结果:
PS: 老邓的写法,也记录在这里
- XOR加密
- XOR 加密解密算法
- XOR加密初识
- Xor动态加密
- XOR 加密简介
- XOR 加密简介
- XOR加密--PHP版
- xor算法加密解密功能
- 基于XOR的加密程序
- XOR 异或加密简介
- C语言加密数据(xor加密)
- 利用xor特点进行简单加密解密
- 异或(XOR)运算加密/解密算法
- 加密101-异或(xor)
- XOR (异或)加密简单实现
- xor
- XOR ^
- xor
- vmware7.1.0 build-261024+redhat9下如何安装vmware-tools
- C# 判断Windows版本及CPU位数
- 文件夹快捷方式VBS病毒清除专杀
- 是Bug,还是Bug?
- 对头文件依赖的新理解
- XOR加密
- 程序员你的路该怎么走?(转载)
- Direct2D编程入门
- Dij.......最短路径算法
- Effective C++ 6
- 程序员: 下次面试的五个步骤
- 原子函数调用时未被定义。。
- 二分中求值中的精度保留问题
- vista/win7/server 2008 启动项的设置(For Windbg)