异或运算
2014-06-12 16:36
239 查看
异或的运算方法是一个二进制运算:
1^1=0
0^0=0
1^0=1
0^1=1
两者相等为0,不等为1.
对于一个字符来说,都可以用二进制码来表示.如A:01000001
字符的异或就是对每一位进行二进制运算.
用于加密算法时,假设你要加密的内容为A,密钥为B,则可以用异或加密:
C=A^B
在数据中保存C就行了.
用的时候:
A=B^C
即可取得原加密的内容,所以只要知道密钥,就可以完成加密和解密.
1^1=0
0^0=0
1^0=1
0^1=1
两者相等为0,不等为1.
对于一个字符来说,都可以用二进制码来表示.如A:01000001
字符的异或就是对每一位进行二进制运算.
用于加密算法时,假设你要加密的内容为A,密钥为B,则可以用异或加密:
C=A^B
在数据中保存C就行了.
用的时候:
A=B^C
即可取得原加密的内容,所以只要知道密钥,就可以完成加密和解密.
#include <stdio.h> main() { char a[]="MyPassword"; /*要加密的密码*/ char b[]="cryptographic"; /*密钥*/ int i; /*加密代码*/ for(i=0;a[i]!='\0';i++) a[i]=a[i]^b[i]; printf("You Password encrypted: %s\n",a); /*解密代码*/ for(i=0;a[i]!='\0';i++) a[i]=a[i]^b[i]; printf("You Password: %s\n",a); }
相关文章推荐
- 位运算反(~)与(&)异或(^)或(|)右移(>>)左移(<<)
- hdu 4768 异或运算
- C++ 异或运算
- C的|、||、&、&&、异或、~、!运算
- 按位与、或、异或等运算方法
- 杭电oj2095用到了异或运算!
- 异或运算的神奇运用
- 原码、补码、运算(加减、异或)实例
- 异或运算及其应用
- 【BZOJ 4103】[Thu Summer Camp 2015]异或运算 可持久化trie树
- 异或运算及其应用
- C#运算符之与,或,异或及移位运算
- 按位与、或、异或等运算方法
- sql语句中的逻辑运算:或、与、异或
- 通过a+b的二进制运算,理解异或和与操作
- 异或运算
- 按位异或运算
- 强大的异或运算-深度好文
- 【BZOJ4103】【Thusc2015】异或运算 可持久Trie
- C的|、||、&、&&、异或、~、!运算