C - Language | Program
加密解密
设计各种加密算法,实现加密解密机制
利用凯撒密码实现字符串加密
基于" 凯撒密码 "的加密机理实现对字符串的加密解密机制
思路
- 对原文字符串进行偏移加密
- 利用解密功能对密文进行偏移解密
- 密文对应原文字符在字符串的位置加上偏移值5(原文字符+位置+5)
代码
int chose = 1;
int i;
int count = 0;
char string[129]; /*声明一个能存储128位字符的字符数组,用来存储明文*/
char cryptogragh[129]; /*声明一个能存储128位字符的字符数组,用来存储密文*/
while(1)
{
if(chose==1)
{
count = strlen(string); /*计算并得到原文长度*/
for(i=0;i<count) /*遍历原文字符串*/
{
cryptogragh[i] = string[i]+i+5; /*加密字符*/
i++;
if(i==count)
{
strcat(cryptogragh,'\0'); /*在加密结果字符串后追加结束标记*/
char result[129];strcpy(result,cryptogragh); /*得到完整的加密字符串" result "*/
}
}
}
else(chose!=1)
{
count = strlen(cryptogragh); /*计算并得到密文长度*/
for(i=0;i<count) /*遍历密文字符串*/
{
string[i] = cryptogragh[i]-i-5; /*解密字符*/
i++;
if(i==count)
{
strcat(string,'\0'); /*在解密结果字符串后追加结束标记*/
char result[129];strcpy(result,string); /*得到完整的解密字符串" result "*/
}
}
}
}