您的位置:首页 > 移动开发 > IOS开发

iOS开发之 异或加密的原理详解

2016-06-14 11:58 387 查看
异或的运算方法是一个二进制运算:

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: