正文
c语言用函数加密字符串 c语言用函数加密字符串吗
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
C语言字符串按要求加密 求教
void encryp(char *plain,char *cipher)这个函数c语言用函数加密字符串你写复杂了c语言用函数加密字符串,如下就可以了——
void encryp(char *plain,char *cipher){
int i;
for(i=0;plain[i];i++)
cipher[i]=plain[i]-24;
cipher[i]='\0';
}
这样加密就完结了。
C语言编程:编写一个函数base64加密
#include stdio.h
#include stdlib.h
#include string.h
const char *chlist = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
int encode_string(char* str, unsigned int length, char* stat) {
char s[103];
int i,j;
unsigned temp;
if(length = 0) return 1;
if(length 100) return 2;
str[length] = '\0';
strcpy(s,str);
while(strlen(s) % 3) strcat(s,"=");
for(i = 0,j = 0; s[i]; i += 3,j += 4) {
temp = s[i];
temp = (temp 8) + s[i + 1];
temp = (temp 8) + s[i + 2];
stat[j + 3] = chlist[temp 0X3F];
temp = 6;
stat[j + 2] = chlist[temp 0X3F];
temp = 6;
stat[j + 1] = chlist[temp 0X3F];
temp = 6;
stat[j + 0] = chlist[temp 0X3F];
}
stat[j] = '\0';
return 0;
}
int Index(char ch) {
int i;
for(i = 0; chlist[i]; ++i) {
if(chlist[i] == ch)
return i;
}
return -1;
}
void decode_string(char *s, char *t) {
unsigned temp;
int i,j,k,len = strlen(s);
if(len % 4) {
printf("无效数据。\n");
exit(2);
}
for(i = 0,j = 0; i = len; i += 4,j += 3) {
temp = 0;
for(k = 0; k 4; ++k)
temp = (temp 6) + Index(s[i + k]);
for(k = 2; k = 0; --k) {
t[j + k] = temp 0XFF;
temp = 8;
}
}
t[j + k] = '\0';
}
int main() {
char s[100] = "1a2a3s4dff5fj6u7M8B9P0O1U2";
char t[150],u[100];
printf("s = %s\n",s);
encode_string(s,strlen(s),t);
printf("t = %s\n",t);
decode_string(t,u);
printf("u = %s\n",u);
return 0;
}
c语言编写字符串加密函数 不要写得太难啊
#include stdio.h
#include ctype.h
char *encrypt(char *text) {
char c;
char *p = text;
for (; *text; ++text) {
c = *text;
if (isdigit(c))
*text = '0' + '9' - c;
else if (islower(c)) {
c = c + 3;
if (c 'z')
c = c - 26;
*text = c;
} else if (isupper(c)) {
c = c + 3;
if (c 'Z')
c = c - 26;
*text = c;
}
}
return p;
}
int main() {
char text[100];
printf("输入明文:");
scanf("%s", text);
printf("密文:%s\n", encrypt(text));
getchar();
}
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语言怎么加密字符
c语言用函数加密字符串我没注意只要小写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;
}
编写函数完成字符串的加密与解密(c语言)?
C语言代码和运行结果如下:
输出符合示例,加解密均正确,望采纳~
附源码链接:字符串加解密
关于c语言用函数加密字符串和c语言用函数加密字符串吗的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。