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

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

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