C语言设计一个简单的加密解密程序

C语言设计一个简单的加密解密程序,第1张

C语言设计一个简单的加密解密程序如下:

加密程序代码

#include<stdio.h>

main()

{

char

c,filename[20]

FILE

*fp1,*fp2

printf("请输入待加密的文件名:\n")

scanf("%s",filename)

fp1=fopen(filename,"r")

fp2=fopen("miwen.txt","w")

do

{

c=fgetc(fp1)

if(c>=32&&c<=126)

{

c=c-32

c=126-c

}

if(c!=-1)

fprintf(fp2,"%c",c)

}

while(c!=-1)

}

解密程序代码:

#include<stdio.h>

#include<string.h>

main()

{

char

c,filename[20]

char

yanzhengma[20]

FILE

*fp1,*fp2

printf("请输入待解密文件名:\n")

scanf("%s",filename)

printf("请输入验证码:\n")

scanf("%s",yanzhengma)

if(strcmp(yanzhengma,"shan")==0)

{

fp1=fopen(filename,"r")

fp2=fopen("yuanwen.txt","w")

do

{

c=fgetc(fp1)

if(c>=32&&c<=126)

{

c=126-c

c=32+c

}

if(c!=-1)

fprintf(fp2,"%c",c)

}

while(c!=-1)

}

else

{

printf("验证码错误!请重新输入:\n")

scanf("%s",filename)

}

}

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <dos.h>

void main()

{

int i=0,j

char str1[10],str2[10]="123456"

while(1)

{

printf("\n请输入6位密码,按Enter键结束: ")

j=0

while ((str1[j]=getch()))

{

printf("%c", '*')

j++

if(j==6) break

}

str1[j]=0

if(j>0 &&strcmp(str1,str2)==0)

{

printf("\n密码正确!\n")

break

}

else if(i<2) printf("\n输入有错误,还有 %d 次机会\n",2-i)

i++

if(i>=3)

{

i=0

sleep(180)

}

}

}

调了半天,楼主真是太粗心了!middle1[]应该这样声明:

char middle1[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}

最后输出start的时候要注意控制长度,改个for循环就好了!

#include<stdio.h>

#include<string.h>

int main(void)

{

int i,j,length,n

char temp

char middle2[27]

char start[201],finish[201]

char middle1[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}

gets(middle2)

gets(finish)

scanf("%d",&n)

length=strlen(finish)

for(i=0i<25i++)

{

for(j=i+1j<26j++)

{

if(middle2[i]>middle2[j])

{

temp=middle2[i]

middle2[i]=middle2[j]

middle2[j]=temp

temp=middle1[i]

middle1[i]=middle1[j]

middle1[j]=temp

}

}

}

for(i=1i<=ni++)

{

for(j=0j<lengthj++)

{

if(finish[j]==' ')

{

start[j]=' '

}

else

{

start[j]=middle1[finish[j]-'A']

}

}

}

for( i = 0i <length++i)

printf("%c",start[i])

printf("\n")

return 0

}

/*

ABCDEFGHIJKLMNOPQRSTUVWXYZ

*/


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7881206.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存