⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 encode.c

📁 一个利用随机数加密字串的算法,用VC实现
💻 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 + -