SWS I开源

使用说明(使用则代表同意)

  1. 本开源不得用于任何商用行为。
  2. 本开源的最终解释权为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;
}
posted @ 2025-12-01 22:55  Xuher  阅读(1)  评论(0)    收藏  举报