二进制加密解密

简单的异或加密,自己不写是损失

==========

#include <cstdio>

using namespace std;

void binByte(char *bin, unsigned char b){

char i=7;

while(b>0){

bin[i]=(b&1)+'0';

b>>=1;

i--;

}

while(i>=0){

bin[i--]='0';

}

}

int main()

{

char *src="NCTV";

char bin[9]={0};

unsigned char *p=(unsigned char*)src;

unsigned char pwd=0x59;//1011001

unsigned char code;

while(*p!='\0'){

code=*p^pwd;

binByte(bin,*p);

printf("%c %u %s 加密成 %u ",*p,*p,bin,code);

binByte(bin,code);

printf("%s 解密成",bin);

code^=pwd;

binByte(bin,code);

printf(" %c %u %s",code,code,bin);

printf("\n");

p++;

}

return 0;

}

==============

输出:

N 78 01001110 加密成 23 00010111 解密成 N 78 01001110

C 67 01000011 加密成 26 00011010 解密成 C 67 01000011

T 84 01010100 加密成 13 00001101 解密成 T 84 01010100

V 86 01010110 加密成 15 00001111 解密成 V 86 01010110

========