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

# 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