第69课字符串的加密
·实现字符串的加密与解密
·加密方式:将字符串中每个字符加上它在字符串中的位置和一个偏移量(秘钥)5
//加解密程序****************************************************************************************************
#include <stdio.h>
#include <stdlib.h>
//实现字符串的加密与解密
//加密方式:将字符串中每个字符加上它在字符串中的位置和一个偏移量5
#define KEY 5 //偏移量/秘钥
/*
*加密传入的字符串
*参数1:要加密的字符串
*返回值:返回加密后的字符串
*/
//函数声明*****************************************
char * encrypt(char []);
char * dencrypt(char []);
//函数声明*****************************************
//函数调用*****************************************
int main()
{
char password[50] = "123456";
encrypt(password);
printf("加密后的字符串为:%s\n",password);
dencrypt(password);
printf("解密后的字符串为:%s\n",password);
return 0;
}
//函数调用*****************************************
//函数定义*****************************************
char * encrypt(char password[])
{
int i = 0;
int count = strlen(password);//字符串的长度
for(; i < count; i++)
{
//将字符串中每个字符加上它在字符串中的位置和一个偏移量5
password[i] = password[i] + i + KEY;
}
return password;
}
char * dencrypt(char password[])
{
int i = 0;
int count = strlen(password);//字符串的长度
for(; i < count; i++)
{
//将字符串中每个字符加上它在字符串中的位置和一个偏移量5
password[i] = password[i] - i - KEY;
}
return password;
}
//函数定义*****************************************
//加解密程序****************************************************************************************************
//运行结果******************************************************************************************************
加密后的字符串为:68:<>@
解密后的字符串为:123456
Process returned 0 (0x0) execution time : 0.375 s
Press any key to continue.
//运行结果******************************************************************************************************