最初的密码程序是在Hirst First c里面看到的,大概内容如下:
对待加密的字符串的每一个字符和某个数值进行一次按位异或得到密文,再进行一次按位异或得到明文。
补充知识:按位异或的结果是“同位得1,异位得0”。
比如数值2和数值1进行按位异或的情况如下:
2对应的二进制表示:10
1对应的二进制表示:01
2^1的结果最终表示:00
这个时候再把2^1的结果和1进行按位异或
01
00
10
原文的加密程序如下:
#include<stdio.h> //加密解密程序 void encrypt(char *message) { while (*message) { //对message的每一个字符和31进行按位异或 *message = *message ^ 31; message++; } } int main() { char s[] = "Hello qizexi"; //运行一次:进行加密 encrypt(s); printf("加密:%s\n", s); //再运行一次是解密 encrypt(s); printf("解密:%s\n", s); return 0; }