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

dkcHash.h

説明を見る。
00001 
00005 #ifndef dkutil_c_Hash
00006 #define dkutil_c_Hash
00007 
00008 #include "dkcOSIndependent.h"
00009 #include "st.h"
00010 #include "dkcSHA.h"
00011 #include "dkcMessageDigest.h"
00012 
00013 
00014 typedef int (WINAPI *DKC_SHO_INIT_F_TYPE)(void *);
00015 typedef void (WINAPI *DKC_SHO_LOAD_F_TYPE)(void *,const BYTE *pBuffer,DWORD dwSize);
00016 typedef void (WINAPI *DKC_SHO_FINAL_F_TYPE)(void *p);
00017 typedef int (WINAPI *DKC_SHO_DIGESTSTR_F_TYPE)(void *p,char *buff,size_t size);
00018 typedef int (WINAPI *DKC_SHO_DIGEST_F_TYPE)(void *p,BYTE *buff,size_t size);
00019 
00020 
00022 typedef struct dkc_SecureHashObject{
00023     DKC_WINAPI_PROC_F_TYPE Init;
00024     DKC_WINAPI_PROC_F_TYPE Load;
00025     DKC_WINAPI_PROC_F_TYPE Final;
00026     DKC_WINAPI_PROC_F_TYPE DigestStr;
00027     DKC_WINAPI_PROC_F_TYPE Digest;
00029     size_t digest_string_size;
00031     size_t digest_binary_size;
00032     UINT mOption;
00033     void *mObj;
00034     BYTE mInited;
00035 }DKC_SECURE_HASH_OBJECT,DKC_SHO;
00036 
00037 
00038 DKC_SECURE_HASH_OBJECT *WINAPI dkcAllocSHO(UINT option);
00039 
00040 int WINAPI dkcFreeSHO(DKC_SECURE_HASH_OBJECT **pp);
00041 
00042 void WINAPI dkcSHOInit(DKC_SECURE_HASH_OBJECT *p);
00043 
00044 void WINAPI dkcSHOLoad(DKC_SECURE_HASH_OBJECT *p,const BYTE *pBuffer,DWORD dwSize);
00045 
00046 void WINAPI dkcSHOFinal(DKC_SECURE_HASH_OBJECT *p);
00047 
00048 int WINAPI dkcSHODigestStr(DKC_SECURE_HASH_OBJECT *p,char *buff,size_t size);
00049 
00050 int WINAPI dkcSHODigest(DKC_SECURE_HASH_OBJECT *p,BYTE *buff,size_t size);
00051 
00059 
00060 DKC_EXTERN int WINAPI dkcSecureHashCalculateBinaryDigest(
00061     UINT hash_option,BYTE *digest_dest,size_t destsize,
00062     const BYTE *data,size_t data_size
00063 );
00064 
00066 DKC_EXTERN int WINAPI dkcSecureHashCalculateStringDigest(
00067     UINT hash_option,char *digest_dest,size_t destsize,
00068     const BYTE *data,size_t data_size
00069 );                                                                                           
00070 
00071 
00072 DKC_EXTERN uint32 dkcHash24(uint8 *,size_t);
00073 DKC_EXTERN uint16 dkcHash16(uint8 *,size_t);
00074 DKC_EXTERN uint8 dkcHash8(uint8 *,size_t);
00075 
00076 
00077 #if 0//defined(__cplusplus)
00078 
00079 namespace dkutil{
00080 
00082 class map_st{
00083     st_table *mM;
00084 public:
00085     map_st(){
00086         mM = st_init_strtable();
00087     }
00088     bool reset(){
00089         clear();
00090         mM = st_init_strtable();
00091     }
00092     bool insert(const char *key,const char *data){
00093         
00094     }
00095     void clear(){
00096         if(mM){
00097             st_free_table(mM);
00098         }
00099     }
00100     bool lookup(const char *key,char *buff,size_t size){
00101         st_lookup(m, key, &buff);
00102     }
00103 
00104 
00105 };
00106 
00107 
00108 
00109 }//end of namespace
00110 
00111 
00112 #endif
00113 
00114 #endif //end of include once

dkutil_cに対してMon Jan 16 00:39:47 2006に生成されました。  doxygen 1.4.4