📄 demo.cpp
字号:
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
extern int Hash(int len,unsigned char* InBuf,unsigned char* OutBuf);
extern int GenRsaKey(unsigned char*PK,unsigned char *SK);
extern int MkSign(int len,unsigned char *Msg,unsigned char *SK,unsigned char *SignData);
extern int VerifySign(int Len,unsigned char *Msg,unsigned char *PK,unsigned char *VerifyData);
extern int asc_hex(unsigned char *asc, unsigned char *hex, int pair_len);
extern long WINAPI mw_DesEncrypt( unsigned char *Key,__int16 KeyLen,
unsigned char *Source, unsigned long SrcLen, unsigned char *result);
extern long WINAPI mw_DesDecrypt( unsigned char *Key,__int16 KeyLen,
unsigned char *Source, unsigned long SrcLen, unsigned char *result);
void main()
{
unsigned char strBuff[2000],strResult[2000];
unsigned char PK[1024],SK[1024];
long i;
unsigned char tmp[1024],buf[1024];
int st;
int LenOfResult;
int LenOfResult2;
unsigned char rData[200];
unsigned char rData2[200];
/* memcpy(tmp,"12345678",8);
asc_hex(tmp,buf,4);
for(i=0;i<60;i++)
memcpy(strBuff+i*4,buf,4);
memcpy(tmp,"cc37451f557d7472094e20740072037b5857527d6d7f250d72771f5f307f2d4c5e7b697e75334c1c38766177021f2879752f5d7620517f7e6e4d347f716e40bbc5645e3e4d551c2f687d5b4b655957746d772b7b7439077f7027797b3f6f297f28744046297b376d447f25536d7c4c77354f797e0c7c5078707c755a7565701bbc9ff9a621159a8be8681c7b4b4a45826a095c783f2cc825c0b4f972cef43217579697dc061e482c9bb774a6e811943cd24e82893d4e8a1a4940e183ac5ddfe4bb622a6d2e706b4f3dfc329c825babbfe4e2ca2e6a08716bb30666366fe3911b1b463075ea8f03f100a34ac5c61bc7632b02852cf9a151aae3ede261bb2c4e9d4da86ef6bd71d9c84bd593edc90592616374c17fc515e6a738722851f0854c5a904b6a1096cd0d12663e4e4e0d567ff3c02664ea38dc0519b52452e46be43b65",640);
asc_hex(tmp,SK,320);
*/
/*
printf("Begin GenRsaKey:\n");
GenRsaKey(PK,SK);
printf("End GenRsaKey:\n\n");
memcpy(tmp,"12345678",8);
asc_hex(tmp,buf,4);
for(i=0;i<60;i++)
memcpy(strBuff+i*4,buf,4);
printf("MkSign:\n\n");
i=MkSign(128,strBuff,SK,strResult);
if(i!=0)
{
printf("ERR");
return;
}
memcpy(strBuff,strResult,128);
for(i=0;i<128;i++)
{
printf("%02x",strResult[i]);
}
printf("\n\n");
memset(strResult,0x00,sizeof(strResult));
// memcpy(tmp,"9d7698f61b7bb338400685348990fa830cafa4d0905c65d2c95be3607e8265cfb67f4ea671dae14a3623e3c694833ff2ec28e23f64c7d418355a35956f60d27197cd88223140ceeda4c429c2e7403bb772623b6e57ee0954ab9384bc47f2402564f1a37701337ddd2f5683d93a5145507be322e823a53911cd27a7e433b9a3b900010001",264);
// asc_hex(tmp,PK,132);
printf("VerifySign:\n\n");
i=VerifySign(128,strBuff,PK,strResult);
if(i!=0)
{
printf("ERR1");
return;
}
for(i=0;i<128;i++)
{
printf("%02x",strResult[i]);
}
printf("\n\n");
*/
// memset(strBuff,0x34,50);
// Hash(50,strBuff,strResult);
// GenRsaKey(PK,SK);
/* printf("PK(N E): \n");
for(i=0;i<132;i++)
{
if(!((i)%128))
printf("\n");
printf("%02x",PK[i]);
}
printf("\n\n");
printf("SK(Q,P,Qinv,DP,DQ): \n");
for(i=0;i<320;i++)
{
if(!(i%64))
printf("\n");
printf("%02x",SK[i]);
}
printf("\n\n");
*/
unsigned char aa[20];
unsigned char bb[20];
memcpy(aa,"123456",6);
memcpy(bb,"abcdefghijkl",12);
printf("begin Des Encrypt and Decrypt\n");
LenOfResult=mw_DesEncrypt(aa,6,bb,12,rData);
printf("LenOfResult Encrypt %d\n",LenOfResult);
for(i=0;i<LenOfResult;i++)
printf("%c ",rData[i]);
printf("\n");
LenOfResult2=mw_DesDecrypt(aa,6,rData,LenOfResult,rData2);
printf("LenOfResult Decrypt %d\n",LenOfResult2);
printf("%s\n",rData);
for(i=0;i<LenOfResult2;i++)
printf("%c ",rData2[i]);
printf("\n");
/* printf("\n");
printf("begin Ic Encrypt and Decrypt\n");
// LenOfResult=mw_IcEncrypt("12345678","abcdefghijkl",12,rData);
printf("LenOfResult Encrypt %d\n",LenOfResult);
for(i=0;i<16;i++)
printf("%c ",rData[i]);
printf("\n");
LenOfResult2=mw_IcDecrypt("12345678",rData,LenOfResult,rData2);
printf("LenOfResult Decrypt %d\n",LenOfResult2);
for(i=0;i<16;i++)
printf("%c ",rData2[i]);
printf("\n");
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -