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

📄 sanpack_rsa.cpp

📁 看到RSA加密的C++类下载的人不少
💻 CPP
字号:
// sanpack_rsa.cpp : 定义 DLL 应用程序的入口点。
//

#include "stdafx.h"
#include "sanpack_rsa.h"
#include "rsa_san.h"

RSA_san *WRSA;

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
	switch (ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
	case DLL_THREAD_ATTACH:
	case DLL_THREAD_DETACH:
	case DLL_PROCESS_DETACH:
		break;
	}
    return TRUE;
}

// export vars

// export funcs
__declspec(dllexport) char * get_Version()
{
	return "2006.01.21";
}

__declspec(dllexport) int start_RSA_san()
{
	RSA_san *rsa_san=new RSA_san();
	WRSA=rsa_san;
	return 1;
}

__declspec(dllexport) int finish_RSA_san()
{
	WRSA->d=0;
	delete WRSA;
	return 1;
}

__declspec(dllexport) int refresh_RSA_san(char * ra,char * rb)
{
	return WRSA->update_pq(ra,rb);
}

__declspec(dllexport) int RSA_san_en(char * s,unsigned n)
{
	return WRSA->RSA_san_en(s,n);
}

__declspec(dllexport) int RSA_san_en_byte(char b)
{
	return WRSA->RSA_san_en_byte(b);
}

__declspec(dllexport) int RSA_san_dn(char * s,unsigned n)
{
	return WRSA->RSA_san_dn(s,n);
}

__declspec(dllexport) int RSA_san_dn_hexstring(char * s)
{
	return WRSA->RSA_san_dn_hexstring(s);
}

__declspec(dllexport) int RSA_san_en_hexstring(char * s)
{
	return WRSA->RSA_san_en_hexstring(s);
}

__declspec(dllexport) char * get_p()
{
	return WRSA->vlong2hexstring(WRSA->p);
}

__declspec(dllexport) char * get_q()
{
	return WRSA->vlong2hexstring(WRSA->q);
}

__declspec(dllexport) char * get_n()
{
	return WRSA->vlong2hexstring(WRSA->n);
}

__declspec(dllexport) char * get_e()
{
	return WRSA->vlong2hexstring(WRSA->e);
}

__declspec(dllexport) char * get_d()
{
	return WRSA->vlong2hexstring(WRSA->d);
}

__declspec(dllexport) char * get_result_string()
{
	return WRSA->hexstring2string(WRSA->vlong2hexstring(WRSA->result));
}

__declspec(dllexport) char get_result_byte(unsigned index)
{
	return *((WRSA->hexstring2string(WRSA->vlong2hexstring(WRSA->result)))+index);
}

__declspec(dllexport) char * get_result_hexstring()
{
	return WRSA->vlong2hexstring(WRSA->result);
}
__declspec(dllexport) char * string2hexstring(char * s)//,unsigned len)
{
	return WRSA->string2hexstring(s);
}
__declspec(dllexport) int set_e_fromhexstring(char * r)
{
	return WRSA->set_e(WRSA->hexstring2string(r));
}

__declspec(dllexport) int force_e(char * r,unsigned l)
{
	return WRSA->force_e(WRSA->hexstring2string(r),l);
}

__declspec(dllexport) int force_d(char * r,unsigned l)
{
	return WRSA->force_d(WRSA->hexstring2string(r),l);
}

__declspec(dllexport) int force_n(char * r,unsigned l)
{
	return WRSA->force_n(WRSA->hexstring2string(r),l);
}

//



// export classes (we dont use it since we only use C interfaces)
/*
Csanpack_rsa::Csanpack_rsa()
{ 
	return; 
}

int Csanpack_rsa::Csanpack_rsa_test()
{
	
	return 1;
}
*/

⌨️ 快捷键说明

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