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

📄 test.cpp

📁 RSA VC++实现
💻 CPP
字号:
#include"RSA.h"
#include"Getneed.h"
#include<iostream>
using namespace std;
typedef unsigned char byte;
void main()
{
	RSA test;
	int i;
	bool flag_newprime=true;
	byte valueN[20]="9E9";
	byte valueE[20]="D";
	byte valueD[20]="3A9";
	
	/*byte valueN[20]="696D";
	byte valueE[20]="6687";
	byte valueD[20]="4377";*/
	
	/*byte valueN[20]="8CB3";
	byte valueE[20]="1AB1";
	byte valueD[20]="33A1";*/
	
	/*byte valueN[20]="5C9B";
	byte valueE[20]="5453";
	byte valueD[20]="5F3";*/
/*	byte valueE[6]="10001";//公钥65537,2^16+1
	if(!flag_newprime)
	{
		cout<<"haha"<<endl;
		byte valueN[128]={
			0xB2,0xAA,0xC2,0x6A,0xD2,0x1F,0x4C,0x5D,
				0x74,0x69,0x22,0xB0,0x63,0x84,0x69,0xDE,
				0xB1,0x49,0x52,0x1D,0xAC,0xB4,0xA6,0x8B,
				0x1A,0x21,0xD7,0xEF,0xAC,0x42,0x5A,0x43,
				0x4A,0x34,0x10,0x07,0xB1,0xA7,0x98,0x90,
				0x75,0xC6,0x86,0x08,0xED,0x40,0xA2,0x5B,
				0xFB,0xA4,0x38,0x5E,0x2D,0x20,0x90,0xA2,
				0x1B,0xF3,0x75,0xD3,0xDC,0x91,0x64,0x64,
				0x1B,0x79,0xEF,0x91,0x80,0x61,0x01,0x02,
				0x1E,0xE9,0xBB,0x0A,0x28,0xEE,0x95,0x4B,
				0xEB,0xB6,0xDF,0x0F,0x69,0xFA,0xFF,0x81,
				0xCA,0x52,0xD4,0x95,0xC0,0x4F,0xC9,0x68,
				0x68,0x6B,0x04,0xFE,0xBA,0x7E,0xB5,0xAF,
				0x4B,0xCA,0x74,0x7B,0xF6,0x9C,0xDD,0x2F,
				0x42,0x10,0x4E,0x89,0x6A,0xBF,0xCB,0xF7,
				0x77,0xFF,0x92,0x30,0x1A,0x6A,0x1C,0x71
		};
		byte valueD[128]={
			0x0C,0xF7,0xF2,0x16,0xB8,0xDB,0xC6,0xBA,
				0x3D,0xD9,0xE7,0xC7,0xAF,0xE1,0x8B,0xA1,
				0xBB,0x72,0x9C,0x00,0x45,0x69,0xF3,0x70,
				0xC3,0x5B,0xD3,0x85,0xB5,0x16,0x37,0xE1,
				0x0C,0x80,0xCC,0xED,0x12,0x0B,0x1D,0x3A,
				0xD7,0x21,0xAA,0xD6,0xF9,0x09,0xA8,0xFF,
				0x4E,0x3B,0xB4,0x4F,0xB9,0xAC,0xD4,0x72,
				0xBF,0xDE,0xA3,0x1D,0xD6,0xB3,0xC2,0xFA,
				0x96,0x24,0x2C,0xE3,0xFF,0xC9,0x43,0xA9,
				0x83,0xAC,0x8B,0x70,0x76,0xEF,0x51,0x57,
				0xDF,0x1D,0x3A,0xE7,0x68,0x71,0xEA,0xD8,
				0x19,0x43,0x2B,0x82,0x44,0x91,0x9F,0x9C,
				0x01,0xAC,0x32,0x6B,0x2B,0x3F,0xC6,0x57,
				0x1C,0x3C,0x80,0xE5,0x86,0x69,0x48,0xD4,
				0x55,0x26,0xD9,0x08,0x23,0x61,0xBF,0xB7,
				0xC2,0x4C,0x3A,0x53,0xA7,0x8A,0x89,0x31
		};
		test.setValueHex(valueE,5);
		test.setValueDStr(valueD,128);
		test.setValuePQStr(valueN,128);
	}
	else
	{
		cout<<"hehe"<<endl;
		byte *valueN,*valueD;
		do_need();
		valueN=new byte[129];
		valueD=new byte[129];
		for(i=0;i<128;i++)
			valueN[i]=n[i];
		valueN[128]='\0';
		for(i=0;i<128;i++)
			valueD[i]=d[i];
		valueD[128]='\0';
		test.setValueHex(valueE,5);
		test.setValueDStr(valueD,128);
		test.setValuePQStr(valueN,128);
	}
	*/
	test.setValueHex(valueN,valueE,valueD);
	
	byte msg[41]="s";
	byte *mi_wen;
	byte *min_wen;
	min_wen=new byte[257];
	mi_wen=new byte[257];
	for(i=0;i<257;i++)
	{
		min_wen[i]='\0';
		mi_wen[i]='\0';
	}
	mi_wen=test.Encrypt(msg);
	cout<<"密文长度"<<strlen((char*)mi_wen)<<endl;
	cout<<"密文"<<mi_wen<<endl;
	min_wen=test.Decrypt(mi_wen);
	cout<<"原始明文"<<msg<<endl;

	cout<<"解密后"<<min_wen<<endl;
	
}

⌨️ 快捷键说明

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