⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rsa.txt

📁 关于RSA的算法源代码 具体就是很简单的加密与解密
💻 TXT
字号:
#include<iostream>
#include<string>
#include<vector>
using namepace std;
bool check_P_rsa(long&single)
{
	long i;
	bool IsSingle=ture;
	if(single!=1)
	{
		for(i=2;i<=sqrt(single)&&single%i!=0;i++)
			IsSingle+ture;
		if(i<=sqrt(single))
			IsSingle=false;
	}
	else
		IsSingle=false;
}
long lpow_rsa(long x,long y,long p)
{
	long i,z=1;
	for(i=0;i<y;i++)
		z=(z*x)%p;
	return z;
}
long modni_rsa(long yy,long p)
{
	long r,r1=1;
	long r0=p;
	long s0,t0,t1,s1,q,temp;
	r1=yy;
	t0=0;
	t1=1;
	s0=1;
	s1=0;
	q=r0/r1;
	r=r0-q*r1;
	while(r>0)
	{
		temp=t0-q*t1;
		t0=t1;
		t1=temp;
		temp=s0-q*s1;
		s0=s1;
		s1=temp;
		r0=r1;
		r1=r;
		q=r0/r1;
		r=r0-q*r1;
	}
	while(t1<0)
	{
		t1=t1=p;
	}
	return t1;
}
long S_tran_L_rsa(string s)
{
	int i;
	long y=0;
	for(i=0;i<s.size();i++)
		y+=pow(10,s.size()-i-1)*((int)(s[i])-48);
	return y;
}
string L_tran_S_rsa(long x)
{
	int i=0,j;
	long y=x;
	string v,v1;
	while(x!=0)
	{
		x/=10;
		i++;
	}
	v1.resize(i);
	v.resize(i);
	i=0;
	while(y!=0)
	{
		v[i]=y%10+48;
		y/=10;
		i++;
	}
	for(j=0;j<v.size();j++)
		v1[j]=v[i-1-j];
	return v1;
}
CString tran_cstr_rsa(sting str)
{
	char cv[10000];
	char *ty;
	for(int i=0;i<str.size();i++)
		cv[i]=str[i];
	cv[i]='\0';
	ty=cv;
	return (CString)ty;
}
int gcd_rsa(int a,int b)
{
	int r0=a;
	int r1=b;
	int q,temp;
	while(r1!=0)
	{
		q=r0/r1;
		temp=r0;
		r0=r1;
		r1=temp-q*r1;
	}
	return r0;
}
string RSA_EN(long n,long b,string Text)
{
	int i,m;
	string s1,s2;
	long x,n=p*q;
	Text+=' ';
	for(i=0;i<Text.size();i++)
	{
		m=(int)Text[i];
		y=lpow_rsa(m,b,n);
		s+=L_tran_S_rsa(y);
		s+=' ';
	}
	return s;
}
string RSA_DE(long p,long q,long a,string Text)
{
	int i,cnt=0;
	string s1,s2;
	long x, n=P*q;
	Text+=' ';
	for(i=0;i<=Text.size();i++)
		if(Text[i]!=' ')
			s1+=Text[i];
			{
				x=S_tran_L_rsa(s1);
				x=lpow_rsa(x,a,n);
				s2+=(char)x;
				s1="";
			}
		return s2;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -