当前位置:首页 » 密码管理 » c对字符串加密

c对字符串加密

发布时间: 2025-09-17 07:32:28

c语言密码加密原理是什么

恰巧这两天刚看的一种思路,很简单的加密解密算法,我说一下吧。
算法原理很简单,假设你的原密码是A,用A与数B按位异或后得到C,C就是加密后的密码,用C再与数B按位异或后能得回A。即(A异或B)异或B=A。用C实现很简单的。这就相当于,你用原密码A和特定数字B产生加密密码C,别人拿到这个加密的密码C,如果不知道特定的数字B,他是无法解密得到原密码A的。对于密码是数字的情况可以用下面的代码:
#includestdio.h#defineBIRTHDAY19880314intmain(){longa,b;scanf(%ld,a)
;printf(原密码:%ld\n,a);b=BIRTHDAY;a^=b;printf(加密密码:%ld\n,a);a^=b;printf(解密密码:%ld\n,a);return0;
}如果密码是字符串的话,最简单的加密算法就是对每个字符重新映射,只要加密解密双方共同遵守同一个映射规则就行啦。

⑵ 利用C语言给文字加密,急~

这里面用到的大部分都是对字符串的基本操作。谭浩强C语言书上都能找到的。里面我都有注释了。有什么疑问再说
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>

int key[3][3]={6,24,1 , //密钥
13,16,10 ,
20,17,15 ,};

int prech(char a[],char b[][3]) //预处理,返回明文的组数
{
int i=0,j=0;
for (; *a!='\0'; ++a)
if (isalpha(*a)) //isalpha判断是否为字母
{
b[i][j]=tolower(*a)-'a'; //b[][]存放每一组明文,3个字母为一组。tolower函数是把大写变小写,并-a使之变成对应的数字
++j;
if (j==3)
{
j=0;
++i;
}
}
while(j!=3 && j!=0) //后面不够的用a补齐
{
b[i][j]=0;
j++;
}
return i;
}

void solve(char b[][3],int n) //求密文
{
int i,j;
char c[3];
for(i=0;i<n;i++)
{
for(j=0;j<3;j++) //算出b[i]组的值存放到c数组中
{
c[j]=(b[i][0]*key[j][0]+b[i][1]*key[j][1]+b[i][2]*key[j][2])%26+'A';
}
for(j=0;j<3;j++)
b[i][j]=c[j]; //把c数组的内容还给b[i]组
}
return ;
}

int main(void)
{
int len,i,j;
char s[100]; //明文
char b[40][3]; //3个为一组,存放每一组的字母对应的数字
scanf("%s",s);
len=prech(s,b);
solve(b,len);
for(i=0;i<len;i++)
for(j=0;j<3;j++)
printf("%c",b[i][j]);
printf("\n");
return 0;
}

⑶ C语言编程问题:从键盘上输入一个字符串按照以下规则对其加密。

#include<stdio.h>
intmain()
{
inti=0;
charstring[50];
gets(string);
puts(string);
while(string[i]!='')
{
if(string[i]>='a'&&string[i]<='z')
{
string[i]=(string[i]+3-'a')%26+'a';
}
elseif(string[i]>='A'&&string[i]<='Z')
{
string[i]=(string[i]+3-'A')%26+'A';
}
i++;
}
puts(string);
return0;
}

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:577
制作脚本网站 发布:2025-10-20 08:17:34 浏览:869
python中的init方法 发布:2025-10-20 08:17:33 浏览:566
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:748
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:668
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:992
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:239
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:97
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:790
python股票数据获取 发布:2025-10-20 07:39:44 浏览:696