?? encode.c
字號:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
unsigned char str[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
int search(char str[],char ch)
{/*在str串中查找字符ch*/
int i,result=-1;
for (i=0;i<strlen(str);i++)
if (str[i]==ch) {result=i; break;}
return result;
}
void encode(unsigned char src[],unsigned char dst[])
{/*dst長度是src長度的2倍*/
int i,j,k,m,len;
unsigned char tmp;
len=strlen(src);
randomize();
for (i=0;i<len;i++) {
j=rand()%6;
tmp=src[i];
tmp=tmp^j;
k=tmp%strlen(str);
m=tmp/strlen(str);
m=m*8+j;
dst[2*i]=str[k]; dst[2*i+1]=str[m];
}
dst[2*i]='\0';
}
void decode(unsigned char src[],unsigned char dst[])
{/*dst長度是src長度的1/2*/
int i,j,k,m,len;
unsigned char tmp;
len=strlen(src);
for (i=0;i<len;i+=2) {
k=search(str,src[i]);
m=search(str,src[i+1]);
j=m%8;
m=m/8;
tmp=m*strlen(str)+k;
tmp=tmp^j;
dst[i/2]=tmp;
}
dst[i/2]='\0';
}
main()
{
unsigned char s1[30]="hello world",s2[30],s3[30];
encode(s1,s2);
puts(s2);
decode(s2,s3);
puts(s3);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -