异或的运算方法是一个二进制运算:
#include <stdio.h>
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 即可取得原加密的内容,所以只要知道密钥,就可以完成加密和解密. 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); } |
异或加密原理
最新推荐文章于 2023-11-12 17:44:42 发布