异或加密原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

异或的运算方法是一个二进制运算:

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

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);

}

相关文档
最新文档