メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

dkcHMAC.h

説明を見る。
00001 
00011 #ifndef DKUTIL_C_HMAC_H
00012 #define DKUTIL_C_HMAC_H
00013 
00014 #include "dkcOSIndependent.h"
00015 #include "dkcHash.h"
00016 
00017 /*
00018 typedef int (WINAPI *DKC_HMAC_INIT_F_TYPE)(void *);
00019 typedef void (WINAPI *DKC_HMAC_LOAD_F_TYPE)(void *,const BYTE *pBuffer,DWORD dwSize);
00020 typedef void (WINAPI *DKC_HMAC_FINAL_F_TYPE)(void *p);
00021 typedef int (WINAPI *DKC_HMAC_DIGESTSTR_F_TYPE)(void *p,char *buff,size_t size);
00022 typedef int (WINAPI *DKC_HMAC_DIGEST_F_TYPE)(void *p,BYTE *buff,size_t size);
00023 
00024 #define dkcdPAD_BLOCK_SIZE 65
00025 */
00026 typedef struct dkc_HMAC{
00027     /*
00028     DKC_WINAPI_PROC_F_TYPE Init;
00029     DKC_WINAPI_PROC_F_TYPE Load;
00030     DKC_WINAPI_PROC_F_TYPE Final;
00031     DKC_WINAPI_PROC_F_TYPE DigestStr;
00032     DKC_WINAPI_PROC_F_TYPE Digest;
00034     size_t digest_string_size;
00036     size_t digest_binary_size;
00037     */
00038     DKC_SECURE_HASH_OBJECT *sho;
00040     BYTE ipad_init;
00041     //BYTE ipad[dkcdPAD_BLOCK_SIZE];
00042     BYTE *ipad;
00044     BYTE opad_init;
00046     //BYTE opad[dkcdPAD_BLOCK_SIZE];
00047     BYTE *opad;
00049     size_t pad_size;
00050 
00051 
00052     BYTE mInnerHashKeyed;
00053     BYTE mInited;
00054 
00055 }DKC_HMAC;
00056 
00057 
00059 DKC_EXTERN void WINAPI dkcHMAC_MD5Init(DKC_HMAC *);
00060 DKC_EXTERN void WINAPI dkcHMAC_SHA1Init(DKC_HMAC *);
00061 DKC_EXTERN void WINAPI dkcHMAC_SHA256Init(DKC_HMAC *);
00062 DKC_EXTERN void WINAPI dkcHMAC_SHA384Init(DKC_HMAC *);
00064 DKC_EXTERN void WINAPI dkcHMAC_SHA512Init(DKC_HMAC *);
00065 
00066 typedef void (WINAPI *DKC_HMAC_HASH_INIT_F_TYPE)(DKC_HMAC *);
00067 
00068 
00070 DKC_EXTERN DKC_HMAC *WINAPI     dkcAllocHMAC(UINT option);
00071 
00072 /*
00073 DKC_EXTERN DKC_HMAC *WINAPI 
00074     dkcAllocHMAC(
00075         DKC_WINAPI_PROC_F_TYPE Init,
00076         DKC_WINAPI_PROC_F_TYPE Load,
00077         DKC_WINAPI_PROC_F_TYPE Final,
00078         DKC_WINAPI_PROC_F_TYPE DigestStr,
00079         DKC_WINAPI_PROC_F_TYPE Digest,
00080         BYTE ipad,
00081         BYTE opad,
00082         size_t digest_size,
00083         size_t block_size,
00084         DKC_HMAC_INIT_F_TYPE init_func
00085 );
00086 */
00091 DKC_EXTERN int WINAPI dkcFreeHMAC(DKC_HMAC **p);
00092 
00093 
00094 void dkcHMAC(DKC_HMAC *,const BYTE *data,size_t data_size,const BYTE *key,size_t key_size,
00095                          BYTE *bin_result_buff,size_t buffsize);
00096 
00097 
00101 
00102 DKC_EXTERN void WINAPI dkcHMACInit(DKC_HMAC *p,const BYTE *key,size_t key_length);
00103 
00109 DKC_EXTERN void WINAPI dkcHMACLoad(DKC_HMAC *p,const BYTE *pBuffer,DWORD dwSize);
00110 
00111 
00117 DKC_EXTERN int WINAPI dkcHMACFinal(DKC_HMAC *p);
00124 
00125 DKC_EXTERN int WINAPI dkcHMACDigestStr(DKC_HMAC *p,char *buff,size_t size);
00126 
00128 DKC_EXTERN int WINAPI dkcHMACDigest(DKC_HMAC *p,BYTE *buff,size_t size);
00129 
00130 
00131 #endif //end of include once

dkutil_cに対してTue Feb 22 02:01:47 2005に生成されました。 doxygen 1.3.6