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

📄 wincrypt.h

📁 c++编程宝典源码及Quincy99编译器 是《标准C++编程宝典》电子工业出版社的光盘
💻 H
字号:
#ifndef _WINCRYPT_H#define _WINCRYPT_H#ifdef __cplusplusextern "C" {#endif#define MS_DEF_PROV_A	"Microsoft Base Cryptographic Provider v1.0"#define MS_DEF_PROV_W	L"Microsoft Base Cryptographic Provider v1.0"#define GET_ALG_CLASS(x) (x&57344)#define GET_ALG_TYPE(x) (x&7680)#define GET_ALG_SID(x) (x&511)#define ALG_CLASS_ANY 0#define ALG_CLASS_SIGNATURE  8192#define ALG_CLASS_MSG_ENCRYPT  16384#define ALG_CLASS_DATA_ENCRYPT  24576#define ALG_CLASS_HASH  32768#define ALG_CLASS_KEY_EXCHANGE  40960#define ALG_TYPE_ANY 0#define ALG_TYPE_DSS 512#define ALG_TYPE_RSA 1024#define ALG_TYPE_BLOCK 1536#define ALG_TYPE_STREAM  2048#define ALG_SID_ANY 0#define ALG_SID_RSA_ANY 0#define ALG_SID_RSA_PKCS 1#define ALG_SID_RSA_MSATWORK 2#define ALG_SID_RSA_ENTRUST 3#define ALG_SID_RSA_PGP 4#define ALG_SID_DSS_ANY 0#define ALG_SID_DSS_PKCS 1#define ALG_SID_DSS_DMS 2#define ALG_SID_DES 1#define ALG_SID_RC2 2#define ALG_SID_RC4 1#define ALG_SID_SEAL 2#define ALG_SID_MD2 1#define ALG_SID_MD4 2#define ALG_SID_MD5 3#define ALG_SID_SHA 4#define ALG_SID_MAC 5#define ALG_SID_EXAMPLE 80#define CALG_MD2 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD2)#define CALG_MD4 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD4)#define CALG_MD5 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD5)#define CALG_SHA (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_SHA)#define CALG_MAC (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MAC)#define CALG_RSA_SIGN (ALG_CLASS_SIGNATURE|ALG_TYPE_RSA|ALG_SID_RSA_ANY)#define CALG_DSS_SIGN (ALG_CLASS_SIGNATURE|ALG_TYPE_DSS|ALG_SID_DSS_ANY)#define CALG_RSA_KEYX (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_RSA|ALG_SID_RSA_ANY)#define CALG_DES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_DES)#define CALG_RC2 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_RC2)#define CALG_RC4 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_RC4)#define CALG_SEAL (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_SEAL)#define CRYPT_VERIFYCONTEXT 0xF0000000#define CRYPT_NEWKEYSET 8#define CRYPT_DELETEKEYSET 16#define CRYPT_EXPORTABLE 1#define CRYPT_USER_PROTECTED 2#define CRYPT_CREATE_SALT 4#define CRYPT_UPDATE_KEY 8#define SIMPLEBLOB 1#define PUBLICKEYBLOB 6#define AT_KEYEXCHANGE 1#define AT_SIGNATURE 2#define CRYPT_USERDATA 1#define KP_IV 1#define KP_SALT 2#define KP_PADDING 3#define KP_MODE 4#define KP_MODE_BITS 5#define KP_PERMISSIONS 6#define KP_ALGID 7#define KP_BLOCKLEN 8#define PKCS5_PADDING 1#define CRYPT_MODE_CBC 1#define CRYPT_MODE_ECB 2#define CRYPT_MODE_OFB 3#define CRYPT_MODE_CFB 4#define CRYPT_MODE_CTS 5#define CRYPT_ENCRYPT 1#define CRYPT_DECRYPT 2#define CRYPT_EXPORT 4#define CRYPT_READ 8#define CRYPT_WRITE 16#define CRYPT_MAC 32#define HP_ALGID 1#define HP_HASHVAL 2#define HP_HASHSIZE 4#define CRYPT_FAILED FALSE#define CRYPT_SUCCEED TRUE#define RCRYPT_SUCCEEDED(r) ((r)==CRYPT_SUCCEED)#define RCRYPT_FAILED(r) ((r)==CRYPT_FAILED)#define PP_ENUMALGS 1#define PP_ENUMCONTAINERS 2#define PP_IMPTYPE 3#define PP_NAME 4#define PP_VERSION 5#define PP_CONTAINER 6#define CRYPT_FIRST 1#define CRYPT_NEXT 2#define CRYPT_IMPL_HARDWARE 1#define CRYPT_IMPL_SOFTWARE 2#define CRYPT_IMPL_MIXED 3#define CRYPT_IMPL_UNKNOWN 4#define PROV_RSA_FULL 1#define PROV_RSA_SIG 2#define PROV_DSS 3#define PROV_FORTEZZA 4#define PROV_MS_MAIL 5#define PROV_SSL 6#define PROV_STT_MER 7#define PROV_STT_ACQ 8#define PROV_STT_BRND 9#define PROV_STT_ROOT 10#define PROV_STT_ISS 11#define MAXUIDLEN 64#define CUR_BLOB_VERSION 2typedef UINT ALG_ID;typedef struct _VTableProvStruc {FARPROC FuncVerifyImage;} VTableProvStruc,*PVTableProvStruc;typedef ULONG HCRYPTPROV;typedef ULONG HCRYPTKEY;typedef ULONG HCRYPTHASH;typedef struct _PROV_ENUMALGS {	ALG_ID aiAlgid;	DWORD dwBitLen;	DWORD dwNameLen;	CHAR szName[20];} PROV_ENUMALGS;typedef struct _PUBLICKEYSTRUC {	BYTE bType;	BYTE bVersion;	WORD reserved;	ALG_ID aiKeyAlg;} PUBLICKEYSTRUC;typedef struct _RSAPUBKEY {	DWORD magic;	DWORD bitlen;	DWORD pubexp;} RSAPUBKEY;BOOL WINAPI CryptAcquireContextA(HCRYPTPROV*,LPCSTR,LPCSTR,DWORD,DWORD);BOOL WINAPI CryptAcquireContextW(HCRYPTPROV*,LPCWSTR,LPCWSTR,DWORD,DWORD);BOOL WINAPI CryptReleaseContext(HCRYPTPROV,DWORD);BOOL WINAPI CryptGenKey(HCRYPTPROV,ALG_ID,DWORD,HCRYPTKEY*);BOOL WINAPI CryptDeriveKey(HCRYPTPROV,ALG_ID,HCRYPTHASH,DWORD,HCRYPTKEY*);BOOL WINAPI CryptDestroyKey(HCRYPTKEY);BOOL WINAPI CryptSetKeyParam(HCRYPTKEY,DWORD,PBYTE,DWORD);BOOL WINAPI CryptGetKeyParam(HCRYPTKEY,DWORD,PBYTE,PDWORD,DWORD);BOOL WINAPI CryptSetHashParam(HCRYPTHASH,DWORD,PBYTE,DWORD);BOOL WINAPI CryptGetHashParam(HCRYPTHASH,DWORD,PBYTE,PDWORD,DWORD);BOOL WINAPI CryptSetProvParam(HCRYPTPROV,DWORD,PBYTE,DWORD);BOOL WINAPI CryptGetProvParam(HCRYPTPROV,DWORD,PBYTE,PDWORD,DWORD);BOOL WINAPI CryptGenRandom(HCRYPTPROV,DWORD,PBYTE);BOOL WINAPI CryptGetUserKey(HCRYPTPROV,DWORD,HCRYPTKEY*);BOOL WINAPI CryptExportKey(HCRYPTKEY,HCRYPTKEY,DWORD,DWORD,PBYTE,PDWORD);BOOL WINAPI CryptImportKey(HCRYPTPROV,PBYTE,DWORD,HCRYPTKEY,DWORD,HCRYPTKEY*);BOOL WINAPI CryptEncrypt(HCRYPTKEY,HCRYPTHASH,BOOL,DWORD,PBYTE,PDWORD,DWORD);BOOL WINAPI CryptDecrypt(HCRYPTKEY,HCRYPTHASH,BOOL,DWORD,PBYTE,PDWORD);BOOL WINAPI CryptCreateHash(HCRYPTPROV,ALG_ID,HCRYPTKEY,DWORD,HCRYPTHASH*);BOOL WINAPI CryptHashData(HCRYPTHASH,PBYTE,DWORD,DWORD);BOOL WINAPI CryptHashSessionKey(HCRYPTHASH,HCRYPTKEY,DWORD);BOOL WINAPI CryptGetHashValue(HCRYPTHASH,DWORD,PBYTE,PDWORD);BOOL WINAPI CryptDestroyHash(HCRYPTHASH);BOOL WINAPI CryptSignHashA(HCRYPTHASH,DWORD,LPCSTR,DWORD,PBYTE,PDWORD);BOOL WINAPI CryptSignHashW(HCRYPTHASH,DWORD,LPCWSTR,DWORD,PBYTE,PDWORD);BOOL WINAPI CryptVerifySignatureA(HCRYPTHASH,PBYTE,DWORD,HCRYPTKEY,LPCSTR,DWORD);BOOL WINAPI CryptVerifySignatureW(HCRYPTHASH,PBYTE,DWORD,HCRYPTKEY,LPCWSTR,DWORD);BOOL WINAPI CryptSetProviderA(LPCSTR,DWORD);BOOL WINAPI CryptSetProviderW(LPCWSTR,DWORD);#ifdef UNICODE#define CryptAcquireContext CryptAcquireContextW#define CryptSignHash CryptSignHashW#define CryptVerifySignature CryptVerifySignatureW#define CryptSetProvider CryptSetProviderW#define MS_DEF_PROV MS_DEF_PROV_W#else#define CryptAcquireContext CryptAcquireContextA#define CryptSignHash CryptSignHashA#define CryptVerifySignature CryptVerifySignatureA#define CryptSetProvider CryptSetProviderA#define MS_DEF_PROV MS_DEF_PROV_A#endif#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

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