字符串加解密
来源:互联网 发布:淘宝上新模板 编辑:程序博客网 时间:2024/05/22 02:01
题目描述:
1、对输入的字符串进行加解密,并输出。
2、加密方法为:
当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
其他字符不做变化。
3、解密方法为加密的逆过程。
接口描述:实现接口,每个接口实现1个基本操作
void Encrypt (char input[], int len):在该函数中实现字符串加密并输出
说明:
1、字符串以\0结尾。2、字符串最长100个字符。
void unEncrypt (char input[], int len):在该函数中实现字符串解密并输出
说明:
1、字符串以\0结尾。2、字符串最长100个字符。
知识点: 字符串
输入:
输入一串要加密的密码
输入一串加过密的密码
输出:
输出加密后的字符
输出解密后的字符
样例输入: abcdefg BCDEFGH
样例输出: BCDEFGH abcdefg
代码:
#include <iostream>#define LIMIT 100using namespace std;void Encrypt(char input[], int len){int i;char* output = (char*)malloc(len*sizeof(char));for (i = 0; i < len; i++){if (input[i] >= 'a'&&input[i] <= 'z'){if (input[i] != 'z')output[i] = input[i] + 1 + 'A' - 'a';elseoutput[i] = 'A';}else if (input[i] >= 'A'&&input[i] <= 'Z'){if (input[i] != 'Z')output[i] = input[i] + 1 + 'a' - 'A';elseoutput[i] = 'a';}else if (input[i] > '0'&&input[i] <= '9')output[i] = (input[i] - '0' + 1) % 10 + '0';elseoutput[i] = input[i];}output[i] = '\0';cout << output << endl;}void unEncrypt(char input[], int len){int i;char* output = (char*)malloc(len*sizeof(char));for (i = 0; i < len; i++){if (input[i] >= 'a'&&input[i] <= 'z'){if (input[i] != 'a')output[i] = input[i] - 1 + 'A' - 'a';elseoutput[i] = 'Z';}else if (input[i] >= 'A'&&input[i] <= 'Z'){if (input[i] != 'A')output[i] = input[i] - 1 + 'a' - 'A';elseoutput[i] = 'z';}else if (input[i] > '0'&&input[i] <= '9')output[i] = (input[i] - '0' + 10) % 10 -1 + '0';elseoutput[i] = input[i];}output[i] = '\0';cout << output << endl;}int main(){int len1, len2;char str1[200], str2[200];cin.getline(str1, LIMIT + 1);cin.getline(str2, LIMIT + 1);len1 = strlen(str1);len2 = strlen(str2);Encrypt(str1, len1);unEncrypt(str2, len2);//cin.get();//cin.get();return 0;}得分运行时间内存复杂度最大嵌套深度100(100)16ms2044KB134
0 0
- 字符串的加解密
- 字符串加解密
- 字符串加解密
- php字符串加解密
- 字符串加解密
- 字符串加解密
- 字符串加解密
- 字符串加解密
- 字符串加解密
- 字符串加解密
- 字符串加解密
- 字符串加解密
- 字符串加解密
- 字符串加解密
- 字符串加解密 算法
- 字符串加解密
- 字符串加解密
- 字符串加解密
- Sqlite学习笔记(五)&&SQLite封锁机制
- 第23讲项目6——前导0的数字
- 类从加载到对象实例化的过程顺序
- 猜猜红桃A在哪里(ImageView单击事件与透明度处理)
- Python:使用模块和安装模块:
- 字符串加解密
- C++11中值得关注的几大变化
- 计算机网络
- IOS中的消息循环(二)
- 论文选读Range-Sample Depth Feature for Action Recognition
- 一篇很全面的freemarker教程
- C语言实现使用动态数组来构造栈结构
- Dubbo Notes
- c#---写文件