diff options
| author | Wiimm <wiimm@wiimm.de> | 2023-09-09 13:11:10 +0200 |
|---|---|---|
| committer | Wiimm <wiimm@wiimm.de> | 2023-09-09 13:11:10 +0200 |
| commit | eb71ae7bdb97df01bf6cf0f2adc0f84e59e16fcb (patch) | |
| tree | 4ff0a56d71336c2c736698018fcb0ffb1dc6a1cf /project/dclib/dclib-basics.c | |
| parent | 7a4ee26983b941ce0a8f72bcc02bf5566e9a7886 (diff) | |
SZS v2.37a
Diffstat (limited to 'project/dclib/dclib-basics.c')
| -rw-r--r-- | project/dclib/dclib-basics.c | 65 |
1 files changed, 64 insertions, 1 deletions
diff --git a/project/dclib/dclib-basics.c b/project/dclib/dclib-basics.c index 8da7c5b..025a460 100644 --- a/project/dclib/dclib-basics.c +++ b/project/dclib/dclib-basics.c @@ -11475,7 +11475,7 @@ void Sha1Hex2Bin ( sha1_hash_t bin, ccp src, ccp end ) DASSERT(src); uint i; - for ( i = 0; i < 20; i++ ) + for ( i = 0; i < sizeof(sha1_hash_t); i++ ) bin[i] = ScanDigits(&src,end,16,2,0); } @@ -11492,6 +11492,26 @@ void Sha1Bin2Hex ( sha1_hex_t hex, cvp bin ) //----------------------------------------------------------------------------- +void Sha1B642Bin ( sha1_hash_t bin, ccp src, ccp end ) +{ + DASSERT(bin); + DASSERT(src); + + DecodeBase64((char*)bin,sizeof(sha1_hash_t),src,end-src,0,true,0); +} + +//----------------------------------------------------------------------------- + +void Sha1Bin2B64 ( sha1_b64_t b64, cvp bin ) +{ + DASSERT(b64); + DASSERT(bin); + + EncodeBase64(b64,sizeof(sha1_b64_t),bin,sizeof(sha1_hash_t),0,false,0,0); +} + +//----------------------------------------------------------------------------- + ccp GetSha1Hex ( cvp bin ) { DASSERT(bin); @@ -11503,6 +11523,49 @@ ccp GetSha1Hex ( cvp bin ) /////////////////////////////////////////////////////////////////////////////// +void Sha1SizeHex2Bin ( sha1_size_hash_t *bin, ccp src, ccp end ) +{ + DASSERT(bin); + DASSERT(src); + + char *dest = (char*)&bin; + for ( int i = 0; i < sizeof(sha1_size_hash_t); i++ ) + *dest++ = ScanDigits(&src,end,16,2,0); +} + +//----------------------------------------------------------------------------- + +void Sha1SizeBin2Hex ( sha1_size_hex_t hex, cvp bin ) +{ + DASSERT(hex); + DASSERT(bin); + + snprintf(hex,sizeof(sha1_hex_t),"%08x%08x%08x%08x%08x%08x", + be32(bin), be32(bin+4), be32(bin+8), be32(bin+12), be32(bin+16), be32(bin+20) ); +} + +//----------------------------------------------------------------------------- + +void Sha1SizeB642Bin ( sha1_size_hash_t *bin, ccp src, ccp end ) +{ + DASSERT(bin); + DASSERT(src); + + DecodeBase64((char*)bin,sizeof(sha1_size_hash_t),src,end-src,0,true,0); +} + +//----------------------------------------------------------------------------- + +void Sha1SizeBin2B64 ( sha1_size_b64_t b64, cvp bin ) +{ + DASSERT(b64); + DASSERT(bin); + + EncodeBase64(b64,sizeof(sha1_size_b64_t),bin,sizeof(sha1_hash_t),0,false,0,0); +} + +/////////////////////////////////////////////////////////////////////////////// + void * dc_memrchr ( cvp src, int ch, size_t size ) { if ( !src || !size ) |
