# HG changeset patch # User RhodeCode Admin # Date 2023-05-11 10:26:53 # Node ID 615d827faf7b44d769bd2e00a8fff99ec74c6854 # Parent 1b1996120ccea5ab83477a80b2ebb17a78a2ea5f hash-utils: added method to make it return str instead of bytes diff --git a/rhodecode/lib/hash_utils.py b/rhodecode/lib/hash_utils.py --- a/rhodecode/lib/hash_utils.py +++ b/rhodecode/lib/hash_utils.py @@ -19,28 +19,38 @@ # and proprietary license terms, please see https://rhodecode.com/licenses/ import hashlib -from rhodecode.lib.str_utils import safe_bytes +from rhodecode.lib.str_utils import safe_bytes, safe_str def md5(s): return hashlib.md5(s).hexdigest() -def md5_safe(s): - return md5(safe_bytes(s)) +def md5_safe(s, return_type=''): + + val = md5(safe_bytes(s)) + if return_type == 'str': + val = safe_str(val) + return val def sha1(s): return hashlib.sha1(s).hexdigest() -def sha1_safe(s): - return sha1(safe_bytes(s)) +def sha1_safe(s, return_type=''): + val = sha1(safe_bytes(s)) + if return_type == 'str': + val = safe_str(val) + return val def sha256(s): return hashlib.sha256(s).hexdigest() -def sha256_safe(s): - return sha256(safe_bytes(s)) +def sha256_safe(s, return_type=''): + val = sha256(safe_bytes(s)) + if return_type == 'str': + val = safe_str(val) + return val