您的位置:

利用c语言加密,C语言加密算法

本文目录一览:

c语言 数据加密

#include stdio.h

void main()

{

int a[5]; /* 存储各位上的数字 */

int num, temp, encripy; /* num是要输入的数,temp是交换时用来存储临时值,encripy是加密后的数据 */

int i;

do

{

printf("Please input the number:");

scanf("%d",num);

if(!(num/10000 !=0 num/100000==0))

printf("Data error!\n");

}while(!(num/10000 !=0 num/100000==0));

a[0] = num/10000%10; /* 求各位上的数字 */

a[1] = num/1000%10;

a[2] = num/100%10; /* 百位上的数字 */

a[3] = num/10%10; /* 十位上的数字 */

a[4] = num%10; /* 个位上的数字 */

for(i = 0; i 5; ++i) /* 开始加密 */

a[i] = (a[i] + 8)%10;

temp = a[0]; /* 交换位置开始 */

a[0] = a[3];

a[3] = temp;

temp = a[1];

a[1] = a[2];

a[2] = temp; /* 交换位置结束同时加密结束 */

encripy = a[0]*10000 + a[1]*1000 + a[2]*100 + a[3]*10 + a[4]; /* 加密后的数据 */

printf("\nThe scourse number: %d\n", num); /* 输出原数据 */

printf("\nEncripy the number: %d\n\n", encripy); /* 输出加密后的数据 */

}

在VC6.0成功运行,希望对你有帮助!

C语言文件加密

#includestdio.h

int main()

{char ch;

 FILE *fp1,*fp2;

 fp1=fopen("d:\\file1.txt","r");

 fp2=fopen("d:\\file2.txt","w");

 printf("加密后的内容:\n");

 while((ch=fgetc(fp1))!=EOF)

 {ch^=0x6a; putchar(ch); fputc(ch,fp2);}

 fclose(fp1);

 fclose(fp2);

 printf("\n解密后的内容:\n");

 fp2=fopen("d:\\file2.txt","r");

 while((ch=fgetc(fp2))!=EOF)

 {ch^=0x6a; putchar(ch);} 

 return 0; 

}

C语言怎么加密字符

我没注意只要小写,我写的是大小写都可以的,另外附送输入验证。

#include stdio.h

#include string.h

int main()

{

    char str[]="00000",str2[]="00000",*p=str,*p2=str2;

    printf("输入5个字母:");

    while(*p!=0)

    {

        scanf("%c",p);

        if(*p=='\n')

            continue;

        if(*p'A'||(*p'Z'*p'a') || *p'z') //输入验证,必须是字母

        {

            printf("只能输入字母,请重新输入\n");

            p=str;

            p2=str2;

            fflush(stdin);//输入有错重新输入前清空缓冲区。fflush属于c扩展函数,正常使用没问题,如需在linux ggc上使用,考虑多次调用getchar函数来清空

        }

        else

        {

            *p2=(*p)+4;

            if(*p290  *p297)   //大写字母加4,最大位不超出

                *p2='A'+(*p2-90)-1;

            if(*p2122)            //小写字母加4,最大位不超出

                *p2='a'+(*p2-122)-1;

            p2++;

            p++;

        }

    }

    printf("原字符串为:%s\n加密后的字符串为:%s\n",str,str2);

    return 0;

}