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