ckrsa.h
来自「DES加密解密算法,西望大家共享.参考学习」· C头文件 代码 · 共 107 行
H
107 行
// CkRsa.h: interface for the CkRsa class.
//
//////////////////////////////////////////////////////////////////////
#ifndef _CkRsa_H
#define _CkRsa_H
#pragma once
#include "CkString.h"
class CkByteData;
#include "CkObject.h"
// CLASS: CkRsa
class CkRsa : public CkObject
{
private:
void *m_impl;
bool m_utf8; // If true, all input "const char *" parameters are utf-8, otherwise they are ANSI strings.
// Don't allow assignment or copying these objects.
CkRsa(const CkRsa &);
CkRsa &operator=(const CkRsa &);
public:
void *getImpl(void) const;
CkRsa(void *impl);
CkRsa();
virtual ~CkRsa();
// BEGIN PUBLIC INTERFACE
bool get_Utf8(void) const;
void put_Utf8(bool b);
bool UnlockComponent(const char *unlockCode);
// Error log retrieval and saving (these methods are common to all Chilkat VC++ classes.)
bool SaveLastError(const char *filename);
void LastErrorXml(CkString &str);
void LastErrorHtml(CkString &str);
void LastErrorText(CkString &str);
bool DecryptStringENC(const char *str, bool bUsePrivateKey, CkString &out);
bool DecryptString(const CkByteData &bData, bool bUsePrivateKey, CkString &out);
bool DecryptBytesENC(const char *str, bool bUsePrivateKey, CkByteData &out);
bool DecryptBytes(const CkByteData &bData, bool bUsePrivateKey, CkByteData &out);
bool EncryptStringENC(const char *str, bool bUsePrivateKey, CkString &out);
bool EncryptBytesENC(const CkByteData &bData, bool bUsePrivateKey, CkString &out);
bool EncryptString(const char *str, bool bUsePrivateKey, CkByteData &out);
bool EncryptBytes(const CkByteData &bData, bool bUsePrivateKey, CkByteData &out);
void get_EncodingMode(CkString &out);
void put_EncodingMode(const char *str);
void get_Charset(CkString &out);
void put_Charset(const char *str);
// NEED VERSION.
//void get_Version(CkString &out);
// numBits can range from 384 to 16384
bool GenerateKey(int numBits);
bool ExportPublicKey(CkString &strXml);
bool ExportPrivateKey(CkString &strXml);
bool ImportPublicKey(const char *strXml);
bool ImportPrivateKey(const char *strXml);
// x1 is a .snk filename. Returns XML
bool SnkToXml(const char *filename, CkString &strXml);
// Number of bits in the RSA key (i.e. 1024, 2048, etc.)
long get_NumBits(void);
bool get_OaepPadding(void);
void put_OaepPadding(bool newVal);
CkString m_resultString;
const char *lastErrorText(void);
const char *lastErrorXml(void);
const char *lastErrorHtml(void);
const char *decryptStringENC(const char *str, bool bUsePrivateKey);
const char *decryptString(const char *bytes, int numBytes, bool bUsePrivateKey);
const char *encryptStringENC(const char *str, bool bUsePrivateKey);
const char *encryptBytesENC(const char *bytes, int numBytes, bool bUsePrivateKey);
const char *encodingMode(void);
const char *charset(void);
const char *exportPublicKey(void);
const char *exportPrivateKey(void);
const char *snkToXml(const char *filename);
// END PUBLIC INTERFACE
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?