📄 test.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 + -