SWS I开源
使用说明(使用则代表同意)
- 本开源不得用于任何商用行为。
- 本开源的最终解释权为Xuher个人所有 。
加密
#include<bits/stdc++.h>
using namespace std;
char a;
int b=0;
int q=0;
string z="31415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679";
int main()
{
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
srand(time(NULL));
int zz=0+rand()%101;
int m=(z[zz]-'0'+1);
int m1=zz%26;
int m2=zz/26;
cout<<char('A'+m1)<<m2;
while(1)
{
a=getchar();
if(a==EOF)
break;
int cl=int(a);
cl*=m;
cl+=q;
q=int(a);
cl+=b%10;
b=cl;
int o1=cl%26;
int o2=cl/26;
cout<<char(o1+'A');
cout<<o2;
}
return 0;
}
解密
#include<bits/stdc++.h>
using namespace std;
char a,a1,a2;
int q=0,b=0;
string z="31415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679";
int read()
{
if(a==EOF)
{
return -1;
}
int bo=a-'A',b=0;
a=getchar();
while(isdigit(a))
{
b*=10;
b+=a-'0';
a=getchar();
}
return bo+b*26;
}
int main()
{
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
a=getchar();
int zz=read();
int m=(z[zz]-'0'+1);
while(1)
{
int aa=read();
if(aa==-1)
break;
int b2=aa;
aa-=q;
aa-=b%10;
aa/=m;
q=aa;
b=b2;
cout<<char(aa);
}
return 0;
}

浙公网安备 33010602011771号