C++简单加密作业
作者:互联网
只适用于6位密码且首位不为0.
编写一个简单加密程序。输入一个6位整数的明码,按以下方法加密:首先,将每位数字替换成它与7相加之和再用10求模的结果;然后逆置;最后输出密码。再编写程序,把这个密码还原成明码。若输入错误,则显示错误信息后退出程序。
解密方法:因为大于3的数加密过程为+7-10,小于3的数为+7.相应的解密过程为+10-7和-7,可以整合为+7取模(因为产生的数不会超过20,取模相当于大于10的数-10,小于10的数不变。)
#include<iostream>
using namespace std;
int main()
{
int s,i,t[6];
cout << "请输入密码:"<< endl;
cin >> s;
if(100000<=s&&s<1000000)
{
//加密代码
if (s > 0)
{
cout << "显示密码是:" << endl;
for (i = 0; i < 6; i++)
{
cout << ((s % 10) + 7) % 10;
t[i] = ((s % 10) + 7) % 10;//记录密码每一位数字
s = s / 10;
}
}
cout << endl;
//解码代码
for (i = 5; i >= 0; i--)
{
//大于3的数加密过程为+7-10,解密为+10-7,小于3的数为+7,解密为-7,可统一为+3取模。
cout << (t[i] + 3) % 10;
}
}
else
cout << "输入错误";
return 0;
}
标签:取模,加密,cout,10,明码,作业,解密,C++ 来源: https://blog.csdn.net/qq_58859800/article/details/120285058