diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-09-05 00:10:35 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2023-09-05 00:10:35 +0200 |
commit | d57b58849bda868f2463d38cc636f01af919316c (patch) | |
tree | 5beef62c041526d9468683e4388b6341f1530cc1 /dep/CascLib/src/common/Common.cpp | |
parent | ba224f70ad81fa0e5d1f0c4daf197e143317cdaa (diff) |
Dep/CascLib: Update to ladislav-zezula/CascLib@5c60050770767f2e606f6fec0c35beb8b9b00c60
Diffstat (limited to 'dep/CascLib/src/common/Common.cpp')
-rw-r--r-- | dep/CascLib/src/common/Common.cpp | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/dep/CascLib/src/common/Common.cpp b/dep/CascLib/src/common/Common.cpp index 63fb4301d57..6058bf28b75 100644 --- a/dep/CascLib/src/common/Common.cpp +++ b/dep/CascLib/src/common/Common.cpp @@ -207,21 +207,6 @@ LPBYTE CaptureEncodedKey(LPBYTE pbEKey, LPBYTE pbData, BYTE EKeyLength) return pbData + EKeyLength; } -LPBYTE CaptureArray_(LPBYTE pbDataPtr, LPBYTE pbDataEnd, LPBYTE * PtrArray, size_t ItemSize, size_t ItemCount) -{ - size_t ArraySize = ItemSize * ItemCount; - - // Is there enough data? - if((pbDataPtr + ArraySize) > pbDataEnd) - return NULL; - - // Give data - PtrArray[0] = pbDataPtr; - - // Return the pointer to data following after the array - return pbDataPtr + ArraySize; -} - //----------------------------------------------------------------------------- // String copying and conversion @@ -598,7 +583,7 @@ bool CascIsValidMD5(LPBYTE pbMd5) return (Int32Array[0] | Int32Array[1] | Int32Array[2] | Int32Array[3]) ? true : false; } -bool CascVerifyDataBlockHash(void * pvDataBlock, DWORD cbDataBlock, LPBYTE expected_md5) +bool CascVerifyDataBlockHash(void * pvDataBlock, size_t cbDataBlock, LPBYTE expected_md5) { MD5_CTX md5_ctx; BYTE md5_digest[MD5_HASH_SIZE]; @@ -609,18 +594,27 @@ bool CascVerifyDataBlockHash(void * pvDataBlock, DWORD cbDataBlock, LPBYTE expec // Calculate the MD5 of the data block MD5_Init(&md5_ctx); - MD5_Update(&md5_ctx, pvDataBlock, cbDataBlock); + MD5_Update(&md5_ctx, pvDataBlock, (unsigned long)(cbDataBlock)); MD5_Final(md5_digest, &md5_ctx); // Does the MD5's match? return (memcmp(md5_digest, expected_md5, MD5_HASH_SIZE) == 0); } -void CascCalculateDataBlockHash(void * pvDataBlock, DWORD cbDataBlock, LPBYTE md5_hash) +void CascHash_MD5(const void * pvDataBlock, size_t cbDataBlock, LPBYTE md5_hash) { MD5_CTX md5_ctx; MD5_Init(&md5_ctx); - MD5_Update(&md5_ctx, pvDataBlock, cbDataBlock); + MD5_Update(&md5_ctx, pvDataBlock, (unsigned long)(cbDataBlock)); MD5_Final(md5_hash, &md5_ctx); } + +void CascHash_SHA1(const void * pvDataBlock, size_t cbDataBlock, LPBYTE sha1_hash) +{ + SHA1_CTX sha1_ctx; + + SHA1_Init(&sha1_ctx); + SHA1_Update(&sha1_ctx, pvDataBlock, (u32)(cbDataBlock)); + SHA1_Final(&sha1_ctx, sha1_hash); +} |