c语言加密函数字符串 c语言字符加密解密

编写函数完成字符串的加密与解密(c语言)?

C语言代码和运行结果如下:

翔安网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

输出符合示例,加解密均正确,望采纳~

附源码链接:字符串加解密

C语言字符串加密

问题不小,你表面用的是C

但是,好多地方不符合C的语法

,,比如:

for

(int

i=0;

str[i]

!=

'\0';

i++)

还有,就是你好像没有弄清楚

,你要做什么似的,有好多无用的东西,

就像你的函数里的,key

,虽然你提到key了,但是你根本没有使用key,你只是使用45来进行加密,,还有就是一个文件

的大小,是不确定的,你用一个100个字符的字符串来存,有点那个不安全了,,如果稍长一点就会出问题,产生运行时错误。其实你这个加密和解密是一个可逆过程,用一个函数,就可以了,具体你想要的也不是太明白,就给你弄了一个简单一点加密和解密程序

,输入输出不是同一个文件

,不知道是不是你想要的。

#include

#include

#include

void

Decrypt()

{

char

fname[FILENAME_MAX];

char

fname2[FILENAME_MAX];

FILE*

fp;

FILE*

fp1;

int

key;

char

c;

printf("输入要加/解密文件的路径:\n");

scanf("%s",

fname);

printf("请输入密钥:\n");

scanf("%d",key);

strcpy(fname2,fname);

strcat(fname2,".txt");

if(

(fp

=

fopen(fname,"r+"))

==

NULL)

{

printf("error");

exit(1);

}

if(

(fp1

=

fopen(fname2,"w+"))

==

NULL)

{

printf("error");

exit(1);

}

while(

(c

=

fgetc(fp))

!=

EOF)

{

c

=

c^key;

fputc(c,fp1);

}

fcloseall();

}

int

main()

{

Decrypt();

return

0;

}

如果想看一些好一点的加密算法

,我这里有一些,联系我发给你

,,

C语言 字符串加密

#includestdio.h

#includestdlib.h

#includestring.h

int main(void)

{

char c[100];

int  k;

int  len,i,temp;

scanf("%s",c);

scanf("%d",k);

len = (int)strlen(c);

k = k%26;

for(i=0;ilen;i++)

{

if (c[i] = 'a'  c[i] = 'z')

{

if(c[i]+k  'z')

{

temp = 'z'-c[i];

temp = k - temp - 1;

c[i]='a'+temp;

}

else

{

c[i]+=k;

}

}

else if (c[i] = 'A'  c[i] = 'Z')

{

if(c[i]+k  'Z')

{

temp = 'Z'-c[i];

temp = k - temp - 1;

c[i]='A'+temp;

}

else

{

c[i]+=k;

}

}

else

{

/* do nothing */

}

}

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

return 0;

}


本文题目:c语言加密函数字符串 c语言字符加密解密
标题链接:http://myzitong.com/article/hhddji.html