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

# 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