#include "dkcOSIndependent.h"
#include "st.h"
#include "dkcSHA.h"
#include "dkcMessageDigest.h"
dkcHash.hのインクルード依存関係図
このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。
構成 | |
struct | dkc_SecureHashObject |
DKC_SHOの名前は廃止する可能性アリ [詳細] | |
型定義 | |
typedef int(WINAPI * | DKC_SHO_INIT_F_TYPE )(void *) |
typedef void(WINAPI * | DKC_SHO_LOAD_F_TYPE )(void *, const BYTE *pBuffer, DWORD dwSize) |
typedef void(WINAPI * | DKC_SHO_FINAL_F_TYPE )(void *p) |
typedef int(WINAPI * | DKC_SHO_DIGESTSTR_F_TYPE )(void *p, char *buff, size_t size) |
typedef int(WINAPI * | DKC_SHO_DIGEST_F_TYPE )(void *p, BYTE *buff, size_t size) |
typedef dkc_SecureHashObject | DKC_SECURE_HASH_OBJECT |
DKC_SHOの名前は廃止する可能性アリ | |
typedef dkc_SecureHashObject | DKC_SHO |
DKC_SHOの名前は廃止する可能性アリ | |
関数 | |
DKC_SECURE_HASH_OBJECT *WINAPI | dkcAllocSHO (UINT option) |
int WINAPI | dkcFreeSHO (DKC_SECURE_HASH_OBJECT **pp) |
void WINAPI | dkcSHOInit (DKC_SECURE_HASH_OBJECT *p) |
void WINAPI | dkcSHOLoad (DKC_SECURE_HASH_OBJECT *p, const BYTE *pBuffer, DWORD dwSize) |
void WINAPI | dkcSHOFinal (DKC_SECURE_HASH_OBJECT *p) |
int WINAPI | dkcSHODigestStr (DKC_SECURE_HASH_OBJECT *p, char *buff, size_t size) |
int WINAPI | dkcSHODigest (DKC_SECURE_HASH_OBJECT *p, BYTE *buff, size_t size) |
DKC_EXTERN int WINAPI | dkcSecureHashCalculateBinaryDigest (UINT hash_option, BYTE *digest_dest, size_t destsize, const BYTE *data, size_t data_size) |
バイナリでのハッシュを出力をする | |
DKC_EXTERN int WINAPI | dkcSecureHashCalculateStringDigest (UINT hash_option, char *digest_dest, size_t destsize, const BYTE *data, size_t data_size) |
文字列の出力をする | |
DKC_EXTERN uint32 | dkcHash24 (uint8 *, size_t) |
DKC_EXTERN uint16 | dkcHash16 (uint8 *, size_t) |
DKC_EXTERN uint8 | dkcHash8 (uint8 *, size_t) |
dkcHash.h で定義されています。
|
DKC_SHOの名前は廃止する可能性アリ
|
|
DKC_SHOの名前は廃止する可能性アリ
|
|
|
|
|
|
|
|
|
|
|
|
参照先 check_init(), dkcAllocate(), dkcFreeSHO(), dkcSHO_MD2Init(), dkcSHO_MD4Init(), dkcSHO_MD5Init(), dkcSHO_SHA1Init(), dkcSHO_SHA256Init(), dkcSHO_SHA384Init(), dkcSHO_SHA512Init(), dkc_SecureHashObject::mObj, dkc_SecureHashObject::mOption, と NULL. 参照元 dkcAllocHMAC(), と shc(). 00130 { 00131 DKC_SECURE_HASH_OBJECT *p; 00132 DKC_SHO_HASH_INIT_F_TYPE init_func; 00133 00134 check_init(); 00135 p = dkcAllocate(sizeof(DKC_SECURE_HASH_OBJECT)); 00136 if(NULL==p){ 00137 return NULL; 00138 } 00139 00140 { 00141 switch(option) 00142 { 00143 case edkcSH_MD2: 00144 init_func = dkcSHO_MD2Init; 00145 break; 00146 case edkcSH_MD4: 00147 init_func = dkcSHO_MD4Init; 00148 break; 00149 case edkcSH_MD5: 00150 init_func = dkcSHO_MD5Init; 00151 break; 00152 case edkcSH_SHA1: 00153 init_func = dkcSHO_SHA1Init; 00154 break; 00155 case edkcSH_SHA256: 00156 init_func = dkcSHO_SHA256Init; 00157 break; 00158 case edkcSH_SHA384: 00159 init_func = dkcSHO_SHA384Init; 00160 break; 00161 case edkcSH_SHA512: 00162 init_func = dkcSHO_SHA512Init; 00163 break; 00164 default: 00165 goto Error; 00166 } 00167 } 00168 00169 //各ハッシュに応じた初期化 00170 init_func(p); 00171 if(NULL==p->mObj){ 00172 goto Error; 00173 } 00174 p->mOption = option; 00175 //dkcAllocate()はmemset(0) 00176 //p->mInited = 0; 00177 00178 00179 return p; 00180 Error: 00181 dkcFreeSHO(&p); 00182 return NULL; 00183 }
|
|
参照先 DKC_MD4, dkcFree(), dkcFreeMD2(), dkcFreeMD4(), dkcFreeMD5(), dkcFreeSHA1(), dkcFreeSHA256(), dkcFreeSHA384(), dkcFreeSHA512(), dkc_SecureHashObject::mObj, dkc_SecureHashObject::mOption, と NULL. 参照元 dkcAllocSHO(), dkcFreeHMAC(), と shc(). 00186 { 00187 DKC_SECURE_HASH_OBJECT *p = *pp; 00188 int option; 00189 void **obj; 00190 00191 if(NULL==pp || NULL==p){ 00192 return edk_FAILED; 00193 } 00194 option = p->mOption; 00195 obj = &(p->mObj); 00196 00197 switch(option) 00198 { 00199 case edkcSH_MD2: 00200 dkcFreeMD2((DKC_MD2 **)obj); 00201 break; 00202 case edkcSH_MD4: 00203 dkcFreeMD4((DKC_MD4 **)obj); 00204 break; 00205 case edkcSH_MD5: 00206 dkcFreeMD5((DKC_MD5 **)obj); 00207 break; 00208 case edkcSH_SHA1: 00209 dkcFreeSHA1((DKC_SHA1 **)obj); 00210 break; 00211 case edkcSH_SHA256: 00212 dkcFreeSHA256((DKC_SHA256 **)obj); 00213 break; 00214 case edkcSH_SHA384: 00215 dkcFreeSHA384((DKC_SHA384 **)obj); 00216 break; 00217 case edkcSH_SHA512: 00218 dkcFreeSHA512((DKC_SHA512 **)obj); 00219 break; 00220 //default: 00221 00222 00223 }//eos 00224 00225 return dkcFree(pp); 00226 }
|
|
参照先 dkcdUNSIGNED_16BIT_PRIME_NUM, uint16, と uint32. 00331 { 00332 uint32 v = 0; 00333 size_t i; 00334 for(i=0;i<cycle;i++){ 00335 v = (pd[i] << 3) + v; 00336 } 00337 return (uint16)((v % dkcdUNSIGNED_16BIT_PRIME_NUM) & 0xFFFF); 00338 }
|
|
参照先 dkcdUNSIGNED_16BIT_PRIME_NUM, と uint32. 00340 { 00341 uint32 v = 0; 00342 size_t i; 00343 for(i=0;i<cycle;i++){ 00344 v ^= (pd[i] << 3) + v; 00345 } 00346 return (v % dkcdUNSIGNED_16BIT_PRIME_NUM) & 0xFFFFFF; 00347 }
|
|
参照先 dkcdUNSIGNED_8BIT_PRIME_NUM, uint32, と uint8. 00322 { 00323 uint32 v = 0; 00324 size_t i; 00325 for(i=0;i<cycle;i++){ 00326 v ^= (pd[i] << 3) + v; 00327 } 00328 return (uint8)((v % dkcdUNSIGNED_8BIT_PRIME_NUM) & 0xFF); 00329 }
|
|
バイナリでのハッシュを出力をする
参照元 dkcAllocHC256NoLimitKeyLength(), dkcAllocSNOW2NoLimitKeyLength(), dkcCalculateInitializeVector(), dkcHMACInit(), と dkcSNOW2GetInitializeVector().
|
|
文字列の出力をする
参照元 dkcHMACInit().
|
|
参照先 check_, dkc_SecureHashObject::Digest, と dkc_SecureHashObject::mObj. 参照元 dkcHMACDigest(), dkcHMACFinal(), と shc(). 00263 { 00264 DKC_SHO_DIGEST_F_TYPE digest = (DKC_SHO_DIGEST_F_TYPE)p->Digest; 00265 check_(); 00266 return digest(p->mObj,buff,size); 00267 }
|
|
参照先 check_, dkc_SecureHashObject::DigestStr, と dkc_SecureHashObject::mObj. 参照元 dkcHMACDigestStr(), dkcHMACFinal(), と shc(). 00255 { 00256 DKC_SHO_DIGESTSTR_F_TYPE digeststr = (DKC_SHO_DIGESTSTR_F_TYPE)p->DigestStr; 00257 check_(); 00258 return digeststr(p->mObj,buff,size); 00259 }
|
|
参照先 check_, dkc_SecureHashObject::Final, と dkc_SecureHashObject::mObj. 参照元 dkcHMACFinal(), と shc(). 00248 { 00249 DKC_SHO_FINAL_F_TYPE final = (DKC_SHO_FINAL_F_TYPE)p->Final; 00250 check_(); 00251 final(p->mObj); 00252 }
|
|
参照先 dkc_SecureHashObject::Init, dkc_SecureHashObject::mInited, dkc_SecureHashObject::mObj, と TRUE. 参照元 dkcHMACFinal(), dkcHMACInit(), と dkcSHOLoad(). 00229 { 00230 DKC_SHO_INIT_F_TYPE init = (DKC_SHO_INIT_F_TYPE)p->Init; 00231 init(p->mObj); 00232 00233 p->mInited = TRUE; 00234 }
|
|
参照先 check_, dkcSHOInit(), FALSE, dkc_SecureHashObject::Load, dkc_SecureHashObject::mInited, と dkc_SecureHashObject::mObj. 参照元 dkcHMACFinal(), dkcHMACKeyInner(), dkcHMACLoad(), と shc(). 00237 { 00238 DKC_SHO_LOAD_F_TYPE load = (DKC_SHO_LOAD_F_TYPE)p->Load; 00239 check_(); 00240 if(FALSE == p->mInited){ 00241 dkcSHOInit(p); 00242 } 00243 load(p->mObj,pBuffer,dwSize); 00244 }
|