亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cryptlib.h

?? 研讀AxCrypt對加解密的處理方法
?? H
?? 第 1 頁 / 共 5 頁
字號:
// cryptlib.h - written and placed in the public domain by Wei Dai
/*! \file
 	This file contains the declarations for the abstract base
	classes that provide a uniform interface to this library.
*/

/*!	\mainpage <a href="http://www.cryptopp.com">Crypto++</a><sup><small>TM</small></sup> Library 5.2.1 Reference Manual
<dl>
<dt>Abstract Base Classes<dd>
	cryptlib.h
<dt>Symmetric Ciphers<dd>
	SymmetricCipherDocumentation
<dt>Hash Functions<dd>
	HAVAL, MD2, MD4, MD5, PanamaHash, RIPEMD160, RIPEMD320, RIPEMD128, RIPEMD256, SHA, SHA256, SHA384, SHA512, Tiger, Whirlpool
<dt>Non-Cryptographic Checksums<dd>
	CRC32, Adler32
<dt>Message Authentication Codes<dd>
	#MD5MAC, XMACC, HMAC, CBC_MAC, DMAC, PanamaMAC, TTMAC
<dt>Random Number Generators<dd>
	NullRNG(), LC_RNG, RandomPool, BlockingRng, NonblockingRng, AutoSeededRandomPool, AutoSeededX917RNG
<dt>Password-based Cryptography<dd>
	PasswordBasedKeyDerivationFunction
<dt>Public Key Cryptosystems<dd>
	DLIES, ECIES, LUCES, RSAES, RabinES, LUC_IES
<dt>Public Key Signature Schemes<dd>
	DSA, GDSA, ECDSA, NR, ECNR, LUCSS, RSASS, RabinSS, RWSS, ESIGN
<dt>Key Agreement<dd>
	#DH, DH2, #MQV, ECDH, ECMQV, XTR_DH
<dt>Algebraic Structures<dd>
	Integer, PolynomialMod2, PolynomialOver, RingOfPolynomialsOver,
	ModularArithmetic, MontgomeryRepresentation, GFP2_ONB,
	GF2NP, GF256, GF2_32, EC2N, ECP
<dt>Secret Sharing and Information Dispersal<dd>
	SecretSharing, SecretRecovery, InformationDispersal, InformationRecovery
<dt>Compression<dd>
	Deflator, Inflator, Gzip, Gunzip, ZlibCompressor, ZlibDecompressor
<dt>Input Source Classes<dd>
	StringSource, FileSource, SocketSource, WindowsPipeSource, RandomNumberSource
<dt>Output Sink Classes<dd>
	StringSinkTemplate, ArraySink, FileSink, SocketSink, WindowsPipeSink
<dt>Filter Wrappers<dd>
	StreamTransformationFilter, HashFilter, HashVerificationFilter, SignerFilter, SignatureVerificationFilter
<dt>Binary to Text Encoders and Decoders<dd>
	HexEncoder, HexDecoder, Base64Encoder, Base64Decoder, Base32Encoder, Base32Decoder
<dt>Wrappers for OS features<dd>
	Timer, Socket, WindowsHandle, ThreadLocalStorage, ThreadUserTimer
<dt>FIPS 140 related<dd>
	fips140.h
</dl>

In the FIPS 140-2 validated DLL version of Crypto++, only the following implementation class are available.
<dl>
<dt>Block Ciphers<dd>
	AES, DES_EDE2, DES_EDE3, SKIPJACK
<dt>Cipher Modes (replace template parameter BC with one of the block ciphers above)<dd>
	ECB_Mode\<BC\>, CTR_Mode\<BC\>, CBC_Mode\<BC\>, CFB_Mode\<BC\>, OFB_Mode\<BC\>
<dt>Hash Functions<dd>
	SHA
<dt>Public Key Signature Schemes<dd>
	RSASS\<PKCS1v15, SHA\>, DSA, ECDSA\<ECP, SHA\>, ECDSA\<EC2N, SHA\>
<dt>Message Authentication Codes<dd>
	HMAC\<SHA\>, CBC_MAC\<DES_EDE2\>, CBC_MAC\<DES_EDE3\>
<dt>Random Number Generators<dd>
	AutoSeededX917RNG\<DES_EDE3\>
<dt>Key Agreement<dd>
	#DH
<dt>Public Key Cryptosystems<dd>
	RSAES\<OAEP\<SHA\> \>
</dl>

<p>This reference manual is a work in progress. Some classes are still lacking detailed descriptions.
<p>Click <a href="CryptoPPRef.zip">here</a> to download a zip archive containing this manual.
<p>Thanks to Ryan Phillips for providing the Doxygen configuration file
and getting me started with this manual.
*/

#ifndef CRYPTOPP_CRYPTLIB_H
#define CRYPTOPP_CRYPTLIB_H

#include "config.h"
#include "stdcpp.h"

NAMESPACE_BEGIN(CryptoPP)

// forward declarations
class Integer;

//! used to specify a direction for a cipher to operate in (encrypt or decrypt)
enum CipherDir {ENCRYPTION,	DECRYPTION};

//! used to represent infinite time
const unsigned long INFINITE_TIME = ULONG_MAX;

// VC60 workaround: using enums as template parameters causes problems
template <typename ENUM_TYPE, int VALUE>
struct EnumToType
{
	static ENUM_TYPE ToEnum() {return (ENUM_TYPE)VALUE;}
};

enum ByteOrder {LITTLE_ENDIAN_ORDER = 0, BIG_ENDIAN_ORDER = 1};
typedef EnumToType<ByteOrder, LITTLE_ENDIAN_ORDER> LittleEndian;
typedef EnumToType<ByteOrder, BIG_ENDIAN_ORDER> BigEndian;

//! base class for all exceptions thrown by Crypto++
class CRYPTOPP_DLL Exception : public std::exception
{
public:
	//! error types
	enum ErrorType {
		//! a method is not implemented
		NOT_IMPLEMENTED,
		//! invalid function argument
		INVALID_ARGUMENT,
		//! BufferedTransformation received a Flush(true) signal but can't flush buffers
		CANNOT_FLUSH,
		//! data integerity check (such as CRC or MAC) failed
		DATA_INTEGRITY_CHECK_FAILED,
		//! received input data that doesn't conform to expected format
		INVALID_DATA_FORMAT,
		//! error reading from input device or writing to output device
		IO_ERROR,
		//! some error not belong to any of the above categories
		OTHER_ERROR
	};

	explicit Exception(ErrorType errorType, const std::string &s) : m_errorType(errorType), m_what(s) {}
	virtual ~Exception() throw() {}
	const char *what() const throw() {return (m_what.c_str());}
	const std::string &GetWhat() const {return m_what;}
	void SetWhat(const std::string &s) {m_what = s;}
	ErrorType GetErrorType() const {return m_errorType;}
	void SetErrorType(ErrorType errorType) {m_errorType = errorType;}

private:
	ErrorType m_errorType;
	std::string m_what;
};

//! exception thrown when an invalid argument is detected
class CRYPTOPP_DLL InvalidArgument : public Exception
{
public:
	explicit InvalidArgument(const std::string &s) : Exception(INVALID_ARGUMENT, s) {}
};

//! exception thrown by decryption filters when trying to decrypt an invalid ciphertext
class CRYPTOPP_DLL InvalidDataFormat : public Exception
{
public:
	explicit InvalidDataFormat(const std::string &s) : Exception(INVALID_DATA_FORMAT, s) {}
};

//! exception thrown by decryption filters when trying to decrypt an invalid ciphertext
class CRYPTOPP_DLL InvalidCiphertext : public InvalidDataFormat
{
public:
	explicit InvalidCiphertext(const std::string &s) : InvalidDataFormat(s) {}
};

//! exception thrown by a class if a non-implemented method is called
class CRYPTOPP_DLL NotImplemented : public Exception
{
public:
	explicit NotImplemented(const std::string &s) : Exception(NOT_IMPLEMENTED, s) {}
};

//! exception thrown by a class when Flush(true) is called but it can't completely flush its buffers
class CRYPTOPP_DLL CannotFlush : public Exception
{
public:
	explicit CannotFlush(const std::string &s) : Exception(CANNOT_FLUSH, s) {}
};

//! error reported by the operating system
class CRYPTOPP_DLL OS_Error : public Exception
{
public:
	OS_Error(ErrorType errorType, const std::string &s, const std::string& operation, int errorCode)
		: Exception(errorType, s), m_operation(operation), m_errorCode(errorCode) {}
	~OS_Error() throw() {}

	// the operating system API that reported the error
	const std::string & GetOperation() const {return m_operation;}
	// the error code return by the operating system
	int GetErrorCode() const {return m_errorCode;}

protected:
	std::string m_operation;
	int m_errorCode;
};

//! used to return decoding results
struct CRYPTOPP_DLL DecodingResult
{
	explicit DecodingResult() : isValidCoding(false), messageLength(0) {}
	explicit DecodingResult(unsigned int len) : isValidCoding(true), messageLength(len) {}

	bool operator==(const DecodingResult &rhs) const {return isValidCoding == rhs.isValidCoding && messageLength == rhs.messageLength;}
	bool operator!=(const DecodingResult &rhs) const {return !operator==(rhs);}

	bool isValidCoding;
	unsigned int messageLength;

#ifdef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY
	operator unsigned int() const {return isValidCoding ? messageLength : 0;}
#endif
};

//! interface for retrieving values given their names
/*! \note This class is used to safely pass a variable number of arbitrarily typed arguments to functions
	and to read values from keys and crypto parameters.
	\note To obtain an object that implements NameValuePairs for the purpose of parameter
	passing, use the MakeParameters() function.
	\note To get a value from NameValuePairs, you need to know the name and the type of the value. 
	Call GetValueNames() on a NameValuePairs object to obtain a list of value names that it supports.
	Then look at the Name namespace documentation to see what the type of each value is, or
	alternatively, call GetIntValue() with the value name, and if the type is not int, a
	ValueTypeMismatch exception will be thrown and you can get the actual type from the exception object.
*/
class CRYPTOPP_NO_VTABLE NameValuePairs
{
public:
	virtual ~NameValuePairs() {}

	//! exception thrown when trying to retrieve a value using a different type than expected
	class CRYPTOPP_DLL ValueTypeMismatch : public InvalidArgument
	{
	public:
		ValueTypeMismatch(const std::string &name, const std::type_info &stored, const std::type_info &retrieving)
			: InvalidArgument("NameValuePairs: type mismatch for '" + name + "', stored '" + stored.name() + "', trying to retrieve '" + retrieving.name() + "'")
			, m_stored(stored), m_retrieving(retrieving) {}

		const std::type_info & GetStoredTypeInfo() const {return m_stored;}
		const std::type_info & GetRetrievingTypeInfo() const {return m_retrieving;}

	private:
		const std::type_info &m_stored;
		const std::type_info &m_retrieving;
	};

	//! get a copy of this object or a subobject of it
	template <class T>
	bool GetThisObject(T &object) const
	{
		return GetValue((std::string("ThisObject:")+typeid(T).name()).c_str(), object);
	}

	//! get a pointer to this object, as a pointer to T
	template <class T>
	bool GetThisPointer(T *&p) const
	{
		return GetValue((std::string("ThisPointer:")+typeid(T).name()).c_str(), p);
	}

	//! get a named value, returns true if the name exists
	template <class T>
	bool GetValue(const char *name, T &value) const
	{
		return GetVoidValue(name, typeid(T), &value);
	}

	//! get a named value, returns the default if the name doesn't exist
	template <class T>
	T GetValueWithDefault(const char *name, T defaultValue) const
	{
		GetValue(name, defaultValue);
		return defaultValue;
	}

	//! get a list of value names that can be retrieved
	CRYPTOPP_DLL std::string GetValueNames() const
		{std::string result; GetValue("ValueNames", result); return result;}

	//! get a named value with type int
	/*! used to ensure we don't accidentally try to get an unsigned int
		or some other type when we mean int (which is the most common case) */
	CRYPTOPP_DLL bool GetIntValue(const char *name, int &value) const
		{return GetValue(name, value);}

	//! get a named value with type int, with default
	CRYPTOPP_DLL int GetIntValueWithDefault(const char *name, int defaultValue) const
		{return GetValueWithDefault(name, defaultValue);}

	//! used by derived classes to check for type mismatch

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
7777精品伊人久久久大香线蕉的 | 亚洲综合一区在线| 懂色av中文一区二区三区| 国产日产欧美一区| 不卡av电影在线播放| 亚洲色图欧美偷拍| 在线看国产一区二区| 亚洲18女电影在线观看| 日韩欧美中文一区| 国产成人午夜99999| 成人欧美一区二区三区白人| 日本高清成人免费播放| 亚洲成a人在线观看| 欧美一区二区日韩一区二区| 国产一区在线观看视频| 日韩一区日韩二区| 欧美日韩另类一区| 国产乱对白刺激视频不卡| 亚洲人成网站影音先锋播放| 欧美色图一区二区三区| 青青草97国产精品免费观看| 国产夜色精品一区二区av| www.av亚洲| 天堂成人免费av电影一区| 久久久久久久久久久黄色| 99精品欧美一区| 免费人成网站在线观看欧美高清| 久久亚洲一区二区三区四区| 色悠悠亚洲一区二区| 免费成人在线观看视频| 国产精品美女久久久久久| 欧美日韩在线电影| 国产大陆a不卡| 日产国产欧美视频一区精品| 亚洲国产激情av| 91精品国模一区二区三区| 不卡高清视频专区| 蜜臀精品一区二区三区在线观看| 中文字幕日韩精品一区| 欧美videossexotv100| 色婷婷av一区二区三区gif| 久久精品国产99国产精品| 一区二区不卡在线视频 午夜欧美不卡在| 欧美一区午夜视频在线观看| 91视频一区二区三区| 久久99精品国产91久久来源| 亚洲综合免费观看高清完整版在线| 日韩欧美国产电影| 欧美日韩一区三区四区| 91蜜桃婷婷狠狠久久综合9色| 久久精品99国产精品日本| 亚洲国产一区二区三区青草影视| 日本一区二区三区久久久久久久久不| 欧美精品三级在线观看| 色婷婷av一区二区| av在线播放成人| 成人在线视频一区| 国产美女久久久久| 国产一区二区在线观看免费| 午夜伦欧美伦电影理论片| 亚洲欧美激情小说另类| 中文成人综合网| 久久综合中文字幕| 精品欧美乱码久久久久久1区2区| 欧美日韩亚洲高清一区二区| 欧洲亚洲精品在线| 日本韩国精品在线| 日本高清成人免费播放| 日本黄色一区二区| 日本韩国一区二区三区视频| 色8久久人人97超碰香蕉987| 色综合久久九月婷婷色综合| 9色porny自拍视频一区二区| 粉嫩13p一区二区三区| 国产精品一区二区你懂的| 精品一区二区三区久久| 蜜臀av一区二区在线免费观看 | 91小视频免费观看| 成人av一区二区三区| 国产一区二区调教| 国产呦萝稀缺另类资源| 国产99久久精品| 成人免费av网站| 97久久人人超碰| 欧美亚洲一区二区在线观看| 在线观看不卡视频| 欧美日韩在线播放| 日韩美女天天操| 久久午夜免费电影| 国产精品女主播在线观看| 中文字幕综合网| 亚洲午夜国产一区99re久久| 天天综合天天做天天综合| 免费观看91视频大全| 国产盗摄女厕一区二区三区| 99re成人在线| 欧美日韩视频在线一区二区| 欧美一区二区三区在线视频| 精品乱人伦小说| 国产女人18毛片水真多成人如厕 | 久久综合五月天婷婷伊人| 国产欧美日韩另类一区| 亚洲三级视频在线观看| 午夜精品久久久久久久蜜桃app| 日本v片在线高清不卡在线观看| 国内精品伊人久久久久av一坑| 国产成人精品免费在线| 91久久一区二区| 日韩欧美一区二区不卡| 国产精品少妇自拍| 亚洲高清在线精品| 国产美女主播视频一区| 欧亚洲嫩模精品一区三区| 日韩一级黄色片| 国产精品久久久久国产精品日日| 亚洲精品视频免费观看| 久久av老司机精品网站导航| 97久久精品人人做人人爽| 欧美一区二区视频观看视频| 国产精品国产自产拍在线| 爽好久久久欧美精品| 国产福利一区在线观看| 欧美三级日韩三级| 国产日产亚洲精品系列| 日韩av电影天堂| av中文字幕亚洲| 精品蜜桃在线看| 亚洲男女毛片无遮挡| 久久99国产精品成人| 在线观看国产日韩| 中文字幕高清一区| 久久国产乱子精品免费女| 在线观看欧美精品| **欧美大码日韩| 精品午夜一区二区三区在线观看| 一本色道a无线码一区v| 久久久精品免费观看| 日韩电影在线免费观看| av一区二区三区| 欧美国产一区在线| 乱中年女人伦av一区二区| 色婷婷久久99综合精品jk白丝| 久久亚洲精精品中文字幕早川悠里| 亚洲最色的网站| av亚洲精华国产精华| 久久精品日韩一区二区三区| 日韩电影在线免费观看| 91豆麻精品91久久久久久| 国产精品美女一区二区| 韩国视频一区二区| 日韩欧美自拍偷拍| 五月天国产精品| 欧美日韩在线三级| 一区二区三区精品久久久| 成人av资源在线观看| 国产亚洲午夜高清国产拍精品 | 国产三级精品视频| 寂寞少妇一区二区三区| 日韩视频免费观看高清完整版在线观看 | 国产精品视频观看| 懂色av一区二区在线播放| 国产午夜精品美女毛片视频| 国产一区欧美日韩| 欧美成人福利视频| 国产在线播放一区| 久久先锋影音av| 国产一区视频在线看| 久久久综合视频| 国产成人免费网站| 国产精品久久久久毛片软件| 成人性生交大合| 综合亚洲深深色噜噜狠狠网站| 国产不卡在线播放| 综合久久久久久久| 欧洲一区在线电影| 图片区日韩欧美亚洲| 欧美一级xxx| 精品一区二区在线视频| 久久久精品蜜桃| 91丝袜国产在线播放| 亚洲国产综合在线| 欧美一级久久久| 国产·精品毛片| 亚洲精品综合在线| 欧美剧情片在线观看| 美国毛片一区二区三区| 久久欧美一区二区| 9久草视频在线视频精品| 亚洲成人自拍偷拍| 91精品国产综合久久久蜜臀粉嫩| 日韩av中文字幕一区二区三区 | 欧美日韩免费高清一区色橹橹| 天堂成人国产精品一区| 久久欧美中文字幕| 色综合久久天天综合网| 调教+趴+乳夹+国产+精品| 精品欧美乱码久久久久久| 不卡一区二区在线| 青青青爽久久午夜综合久久午夜| 久久久精品免费网站|