C语言程序设计 字符串加密

字符串加密:将英文句子中所有个数为偶数的单词进行加密处理。加密规则为:若单词以 a - n (不区分大小写)开头,则将组成该单词的所有字母循环左移一次,若以 o - z 开头,循环右移一
大。


主函数,调用加密解密文件Trans.h

#include "Trans.h"

//主函数,调用加密解密文件

void main()

{
char txt[1024];

int choice;

printf("------==---欢迎使用译码机!---==------\n");

printf("*************************************\n");

printf("生成加密文字请输入1\n");

printf("翻译加密文字请输入2\n");

printf("退出程序请输入0\n");

while(1)

{
printf("*************************************\n");

printf("请输入你的选择:");

scanf("%d",&choice);

fflush(stdin);

switch(choice)

{
case 1:

printf("请输入文字:");

gets(txt);

creat(txt);

break;

case 2:

printf("请输入加密文字:");

gets(txt);

trans(txt);

break;

case 0:

printf("退出成功!\n");

exit(0);

default:

printf("您的输入有误,请重新输入!\n");

}

system("pause");

}

}

加密算法是将所有字符的ASCLL码加1,翻译算法为将所有字符的ASCLL码减1

trans.h

#ifndef TRANS_H_INCLOUDED

#define TRANS_H_INCLOUDED

#include

#include

#include

//加密算法是将所有字符的ASCLL码加1,翻译算法为将所有字符的ASCLL码减1

void creat(char txt[])

{
for(int i=0;i

{
txt[i] += 1;

}

printf("生成的加密文字为:%s\n",txt);

}

void trans(char txt[])

{
for(int i=0;i

{
txt[i] -= 1;

}

printf("解密后的文字为:%s\n",txt);

}

#endif

改进(//所有的字符加上一个正负号变换的数列的加密算法)

#ifndef TRANS_H_INCLOUDED

#define TRANS_H_INCLOUDED

#include

#include

#include

//所有的字符加上一个正负号变换的数列的加密算法

void creat(char txt[])

{
int f = 1;

for(int i=0;i

{
txt[i] += f;

f = -f;

}

printf("生成的加密文字为:%s\n",txt);

}

void trans(char txt[])

{
int f = -1 ;

for(int i=0;i

{
txt[i] += f;

f = -f;

}

printf("解密后的文字为:%s\n",txt);

}

#endif