?? rsa.h
字號:
// RSA.h: interface for the CRSA class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_RSA_H__DD5631D5_2064_4DCC_B1C5_88F6B1A4F697__INCLUDED_)
#define AFX_RSA_H__DD5631D5_2064_4DCC_B1C5_88F6B1A4F697__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "BigNumber.h"
#include "RandomGenerator.h"
#define ERSAOK 0
#define ERSA_OUT_OF_MEM (-1)
class CRSA
{
public:
CBigNumber p;
CBigNumber q;
CBigNumber e;
CBigNumber u;
CBigNumber n;
CBigNumber d;
CRandomGenerator* m_prand;
public:
CRSA();
virtual ~CRSA();
void InitRandGenerator(CRandomGenerator* prand) { m_prand = prand; };
BOOL RsaPrimesGen(unsigned bits, unsigned pe, int (*progress)(void *arg, int c), void *arg, int *error);
BOOL RsaKeyGen(unsigned pe, int (*progress)(void *arg, int c), void *arg, int *error);
//these are very slowly interface.
int rsaTestPrivateE(CBigNumber* bn, const PBYTE in, unsigned len);
int rsaTestPublicD(const PBYTE in, unsigned len, const CBigNumber* bn);
int rsaPublicEncrypt(CBigNumber *bn, const PBYTE in, unsigned len);
int rsaPrivateEncrypt(CBigNumber *bn, const PBYTE in, unsigned len);
int rsaPublicDecrypt(PBYTE buf, unsigned len, const CBigNumber *bn);
int rsaPrivateDecrypt(PBYTE buf, unsigned len, const CBigNumber *bn);
};
#endif // !defined(AFX_RSA_H__DD5631D5_2064_4DCC_B1C5_88F6B1A4F697__INCLUDED_)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -