@@ -3764,7 +3764,13 @@ def GetHeaderChecksum(inlist=None, checksumtype="md5", encodedata=True, formatsp
37643764 hdr_bytes = _to_bytes(hdr_bytes)
37653765 hdr_bytes = bytes(hdr_bytes)
37663766 saltkeyval = None
3767- if(saltkey is not None and os.path.exists(saltkey)):
3767+ if(hasattr(saltkey, "read")):
3768+ saltkeyval = skfp.read()
3769+ if(not isinstance(saltkeyval, bytes) and sys.version_info[0] >= 3):
3770+ saltkeyval = saltkeyval.encode("UTF-8")
3771+ elif(isinstance(saltkey, bytes) and sys.version_info[0] >= 3):
3772+ saltkeyval = saltkey
3773+ elif(saltkey is not None and os.path.exists(saltkey)):
37683774 with open(saltkey, "rb") as skfp:
37693775 saltkeyval = skfp.read()
37703776 else:
@@ -3789,7 +3795,13 @@ def GetFileChecksum(inbytes, checksumtype="md5", encodedata=True, formatspecs=__
37893795 """
37903796 algo_key = (checksumtype or "md5").lower()
37913797 saltkeyval = None
3792- if(saltkey is not None and os.path.exists(saltkey)):
3798+ if(hasattr(saltkey, "read")):
3799+ saltkeyval = skfp.read()
3800+ if(not isinstance(saltkeyval, bytes) and sys.version_info[0] >= 3):
3801+ saltkeyval = saltkeyval.encode("UTF-8")
3802+ elif(isinstance(saltkey, bytes) and sys.version_info[0] >= 3):
3803+ saltkeyval = saltkey
3804+ elif(saltkey is not None and os.path.exists(saltkey)):
37933805 with open(saltkey, "rb") as skfp:
37943806 saltkeyval = skfp.read()
37953807 else:
@@ -3831,7 +3843,7 @@ def GetFileChecksum(inbytes, checksumtype="md5", encodedata=True, formatspecs=__
38313843 h = hmac.new(saltkeyval, data, digestmod=algo_key)
38323844 return h.hexdigest().lower()
38333845
3834- return "0"
3846+ return "0""
38353847
38363848def ValidateHeaderChecksum(inlist=None, checksumtype="md5", inchecksum="0", formatspecs=__file_format_dict__, saltkey=None):
38373849 calc = GetHeaderChecksum(inlist, checksumtype, True, formatspecs, saltkey)
0 commit comments