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

📄 crypto.h

📁 加解密包
💻 H
字号:
/*#ifndef __JTCRYPTO_H__#define __JTCRYPTO_H__*//*************************************************	Description: Handel for des3 	when encrypt:		InitDes3;				Des3Encrypt;			.			.			.		Des3Encrypt;		CloseDes3;	when Dncrypt:		InitDes3;				Des3Decrypt;			.			.			.		Des3Decrypt;		CloseDes3;	note: don't forget the pass word used input Des3DeviceKey*********************************************/#define DES3KEYLIEGTN 24typedef void* HDES3;/*************************************************	Description: Handel for sha1 	usage:		Sha1init;		Sha1Updata;			.			.			.		Sha1Updata;		Sha1Final;		Sha1Close;*********************************************/typedef void* HSHA1;typedef void* HRSAPUBLICKEY;typedef void* HRSAPRIVEKEY;typedef unsigned char Byte;/*************************************************	Description: init a des3 device	parameter:		key: 		nEncrypt:	1,encrypt					0,decrypt	return: *********************************************/extern HDES3 InitDes3(Byte key[DES3KEYLIEGTN],int nEncrypt);/*************************************************	Description: Generate a des3 key	parameter:	return: *********************************************/extern void CreateDes3Key(unsigned char *);/**********************************************************************	Description: Encrypt data use des3	parameter:		hDes3: a handle return by InitDes3();		input: someting you want to encrypt		output: the result		nLength: input data length,must be 8*x******************************************************************/extern void Des3Encrypt(HDES3 hDes3,const Byte* input,Byte* output,int nLength);/**********************************************************************	Description: Decrypt data use des3	parameter:		hDes3: a handle return by InitDes3();		input: someting you want to decrypt		output: the result		nLength: input data length,must be 8*x******************************************************************/extern void Des3Decrypt(HDES3 hDes3,const Byte* input,Byte* output,int nLength);/**********************************************************************	Description: release des3 handle	parameter:		hDes3: a handle return by InitDes3();******************************************************************/extern void CloseDes3(HDES3 hDes3);/*************************************************	Description: inti a Sha1 context	parameter:	return: new sha1 context*********************************************/extern HSHA1 Sha1Init();/**********************************************************************	Description: updata a Sha1 context	parameter:		hSha1: handle return by Sha1Init		pData: input data pointer		nDataLength: input data length	return:******************************************************************/extern void Sha1Update(HSHA1 hSha1,const Byte* pData,int nDatalength);/**********************************************************************	Description: get Sha1 digist	parameter:		hSha1: handle return by Sha1Init		pDigist: the digist buffer, for sha1 it must be 20 byte long	return: ******************************************************************/extern void Sha1Final(Byte* pDigist,HSHA1 hSha1);/*************************************************	Description: release a Sha1 context	parameter:		hSha1: handle return by Sha1Init	return: *********************************************/extern void CloseSha1(HSHA1 hSha1);/*************************************************	Description: create a rsa Publickey	parameter:	return: *********************************************/extern HRSAPUBLICKEY RsaCreatePublicKey();/*************************************************	Description: release a Sha1 context	parameter:		hPublicKey: handle return by RsaCreatePublicKey	return: *********************************************/extern void RsaRelesaePublicKey(HRSAPUBLICKEY hPublicKey);/*************************************************	Description: create a rsa context	parameter:	return: *********************************************/extern HRSAPRIVEKEY RsaCreatePriveKey();/*************************************************	Description: release a Sha1 context	parameter:		hPriveKey: handle return by RsaCreatePriveKey	return: *********************************************/extern void RsaRelesaePriveKey(HRSAPRIVEKEY hPriveKey);/**********************************************************************	Description: Device a pair of Key for rsa	parameter:		szSeed: random seed, can not be NULL		pPulicKey: Rsa public key result		pPriveKey: Rsa private key result		nKeybits: key's length input bit	return: new sha1 context******************************************************************/extern void RsaGenerateKeys(HRSAPUBLICKEY hPublicKey,HRSAPRIVEKEY hPriveKey,int nKeybits);/**********************************************************************	Description: encrypt data use Rsa	parameter:		pPulicKey: Rsa public key		szSeed: random seed, can not be NULL				input: something you want to encrypt		inputLength: encrypt data length		output: encrypt result		pLength[input/output]:the output buffer length,			when function return it is the length of the result length	return: 		0,successs	Note:		Do not let inputLength > (Key Bits Length + 7) / 8 -11		always let *pLength >= (Key Bits Length + 7) / 8******************************************************************/extern int RsaEncrypt(HRSAPUBLICKEY hPublicKey,const Byte* input,int inputLength,Byte* output,int* pLength);/*********************************************************************	Description: decrypt data use Rsa	parameter:		szSeed: random seed, can not be NULL		pPriveKey: Rsa private key		input: something you want to decrypt		inputLength: decrypt data length		output: decrypt result		pLength[input/output]:the output buffer length,			when function return it is the length of the result length	return: 		0,successs	Note:		Do not let inputLength > (Key Bits Length + 7) / 8 		always let *pLength >= (Key Bits Length + 7) / 8******************************************************************/extern int RsaDecrypt(HRSAPRIVEKEY hPriveKey,const Byte* input,int inputLength,					  Byte* output,int* pLength);/*#endif */

⌨️ 快捷键说明

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