C# 编写一个字符加密解密程序(如A加密后为F)

C# 编写一个字符加密解密程序(如A加密后为F),第1张

通常加密解密都是采用异或运算

例如:

char c = 'A';

c ^= (char)7; // 加密, 此时c的值是'F'

c ^= (char)7; // 解密, 此时c的值是'A'

这个只是一个简单的例子, 密钥是7, 你可以进行多次异或运算来提高算法难度

#include<stdioh>

#include<stringh>

#include<stdlibh>

main()

{

void sc(char fp,char key,int Flen,int Klen);

FILE fp;

char pBuf,filename[20],key[20],ch;

printf("请输入选择:A、加密 B、解密 C退出\n");

ch=getchar();

while(ch!='c'&&ch!='C')

{

if(ch=='a'||ch=='A'||ch=='b'||ch=='B')

{

printf("请输入要打开的文件名:\n");

scanf("%s",filename);

if((fp=fopen(filename,"rb"))==NULL)

{printf("无法打开文件,请注意输入后缀!\n");<br/> exit(0);<br/> }

fseek(fp,0,SEEK_END);

int len=ftell(fp);

pBuf=new char[len+1];

rewind(fp);

fread(pBuf,1,len,fp);

pBuf[len]=0;

printf("%s\n",pBuf);

fclose(fp);

printf("请输入加密/解密的密码:\n");

scanf("%s",key);

sc(pBuf,key,len,strlen(key));

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

scanf("%s",filename);

if((fp=fopen(filename,"wb"))==NULL)

{printf("无法保存文件,请注意磁盘是否已满!\n");<br/> exit(0);<br/> }

else

fwrite(pBuf,1,len,fp);

fclose(fp);

printf("请输入选择:A、加密 B、解密 C退出\n");

}

else {

printf("输入错误,请重新输入\n");

}

ch=getchar();

ch=getchar();

}

}

void sc(char fp,char key,int Flen,int Klen)

{int i,j,k;<br/>for(i=0;i<Flen;i+=Klen)<br/>for(j=i,k=0;k<Klen;j++,k++)<br/>fp[j]^=key[k];<br/><br/>fp[i]='\0';<br/>printf("%s\n",fp);<br/>}

以上就是关于C# 编写一个字符加密解密程序(如A加密后为F)全部的内容,包括:C# 编写一个字符加密解密程序(如A加密后为F)、c语言程序设计文件加密解密、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10127450.html

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

发表评论

登录后才能评论

评论列表(0条)

保存