编写程序,将输入的一行字符以加密的形式输出,然后将其解密,解密的字符序列与输入的正文进行比较,吻合时输出解密的正文,否则输出解密失败。 c++注意:加密原则,将每个字符的ASCII码加上8;解密与加密的操作相反。
时间: 2024-03-25 08:36:19 浏览: 39
c# 和 c++ 通用加密解密 。有c#和c++的例子代码。通用加解密源码.zip
好的,我会尝试回答你的问题。以下是一个C++程序,可以实现输入一行字符,进行加密和解密,并与原始输入进行比较,如果吻合则输出解密后的正文,否则输出解密失败。
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string input;
cout << "请输入要加密的字符:" << endl;
getline(cin, input);
// 加密
string encrypted = "";
for (int i = 0; i < input.length(); i++) {
char c = input[i] + 8;
encrypted += c;
}
cout << "加密后的字符为:" << encrypted << endl;
// 解密
string decrypted = "";
for (int i = 0; i < encrypted.length(); i++) {
char c = encrypted[i] - 8;
decrypted += c;
}
// 比较解密后的字符序列与输入的正文
if (decrypted == input) {
cout << "解密成功,原始输入为:" << decrypted << endl;
} else {
cout << "解密失败" << endl;
}
return 0;
}
```
程序中使用了string类型,可以方便地处理输入的一行字符。getline()函数用于读取一行字符串,加密和解密的操作分别使用了for循环,将每个字符的ASCII码加上或减去8。最后比较解密后的字符序列与输入的正文是否相等,如果相等则解密成功,输出解密后的正文,否则输出解密失败。
阅读全文