当前位置:首页 » 密码管理 » 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;
}

热点内容
怎么进网站服务器 发布:2025-09-17 09:18:15 浏览:460
小火箭服务器订阅是什么 发布:2025-09-17 09:01:40 浏览:735
c语言入门基础 发布:2025-09-17 08:54:30 浏览:667
副卡服务密码是多少位 发布:2025-09-17 08:45:44 浏览:438
白条密码是什么情况 发布:2025-09-17 08:43:01 浏览:319
高中信息算法与程序 发布:2025-09-17 08:41:34 浏览:26
服务器禁止设置几个ip 发布:2025-09-17 08:41:26 浏览:504
侧限压缩仪 发布:2025-09-17 08:41:24 浏览:174
php登陆系统 发布:2025-09-17 08:35:55 浏览:420
wincc全局脚本中加减运算 发布:2025-09-17 08:05:48 浏览:338