#include
using namespace std;
int main()
{
char a[16]{};
cout << "输入15个字符:" << endl;
cin >> a;
for (int i = 2; i<4; i++)
{
a[i] ^= a[8 - i] ^= a[i] ^= a[8 - i];
a[i] = a[i]+1 ;
a[8 - i] = a[8 - i] +1;
}
cout << a << endl;
return 0;
}
3到7逆序之后加1,中间的5不加
输出128755489123456
不是很确定你想怎么做。大致说一下流程吧。
如果仅需要加密一部分并且是确定的一部分,那么循环就是在这一部分进行。
然后你要有一个替换表和一个换序策略。
替换表可以是任意的,但是你需要做到一一对应,比如1对应a,2对于b这样。而换序的方式可以是随机选择一个数字,然后将当前位置的下表加上这个数字然后对加密长度取模。
这里,替换表和随机出来的数字都是密钥。