Files
Leviathan/Library/Internal/include/cipher/XRSA.h
T
2026-06-01 12:46:52 +02:00

31 lines
771 B
C++

#pragma once
#include <openssl/ossl_typ.h>
class XRSA
{
public:
XRSA();
~XRSA();
bool Initialize( size_t nKeyBitSize = 1024 );
bool Initialize( const void* pPublicKey, size_t nSize );
bool GetPublicKey( void* pBuff, size_t nBuffSize, size_t* pKeySize ) const;
bool EncryptbyPublicKey( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pEnSize );
bool DecryptbyPrivateKey( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pDeSize );
bool EncryptbyPrivateKey( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pEnSize );
bool DecryptbyPublicKey( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pDeSize );
private:
RSA* m_pRSA;
size_t m_nMaxEnSize;
};