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

📄 新建 文本文档.txt

📁 本代码实现基于RSA算法的文本加密解密功能
💻 TXT
字号:
void CRsaDlg::Onrsakey() 
{
	d=1;
	n1=(p-1)*(q-1);
    c=e*d%n1;
	while(c!=1)
	{	
		d++;
		c=e*d%n1;
	}// TODO: Add your control notification handler code here
	MessageBox("     计算完成!");	

}

void CRsaDlg::Onrsa() 
{
	UpdateData(TRUE);
	char ch ;
    int num;
    ifstream infile(m_t1);
    ofstream outfile(m_t2);
	infile.unsetf(ios::skipws);
	while(infile>>ch)
	{
		++j;
		num=ch;
		ch=rsa(num);
		outfile<<ch;
	}
	infile.close();
	outfile.close();
	MessageBox("      加密完成!");
	// TODO: Add your control notification handler code here
	
}

void CRsaDlg::Onrersa() 
{
	UpdateData(TRUE);
    char ch;
	int num;
	j=0;
    ifstream infile(m_t2);
    ofstream outfile(m_t3);
	infile.unsetf(ios::skipws);
	while(infile>>ch)
	{
		++j;
		num=ch;
		ch=rersa(num);
		outfile<<ch;
	}
	infile.close();
	outfile.close();
	MessageBox("      解密完成!");
	j=0;
	count=0;
	k=0;
	// TODO: Add your control notification handler code here
	
}
int CRsaDlg::rsa(int a)
{   
	int z;
	z=yushu(a,e,n);//////////////////////
	if(z==26)
	{
		r[k]=j;
		k++;
		count++;
		z=z+30;
	}
	return z;
}
///////////////////////////////////////////
int CRsaDlg::rersa(int a)
{
	int z=a;
	int i=0;
	i=0;
	if(z==56)	
		for(i=0;i<count;i++)
			if(j==r[i])z=z-30;
	return yushu(z,d,n);
}

int CRsaDlg::yushu(int W,int nn,int G)
{
	int i=0,k,m,t,R;
	double M,AA=1;
	do{
		do{
			i++;
			M=pow((double)W,(double)i);
		}while(M<(double)G);

		k=i;
		i=0;
		t=nn;

		if(t>=k)
		{
			m=nn%k;
			nn=nn/k;
			AA=AA*pow((double)W,(double)m);
			W=(int)fmod(M,(double)G);
		}
	if(W==1||W==0)break;
	}while(t>=k);
	if(W==0)R=0;
	else
	{
		M=AA*pow((double)W,(double)nn);
		R=(int)fmod(M,(double)G);
	}
	return R;
}



	virtual int rsa(int a);
    virtual int rersa(int a);
    virtual int yushu(int W,int nn,int G);



//////////////////////////////////////////////////////设置密钥
 int   n1,d,c;
 int   p=3;
 int   q=43;
 int   e=11;
 int   n=p*q;
 int   j=0,count=0,k;
 int   r[200];
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "rsa文件加密程序.h"
#include "rsa文件加密程序Dlg.h"
#include "fstream.h"
#include "math.h"

⌨️ 快捷键说明

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