-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconvert.py
More file actions
45 lines (36 loc) · 1.04 KB
/
convert.py
File metadata and controls
45 lines (36 loc) · 1.04 KB
1
from base64 import *def hexTob64(string): return byteStringToB64(hexToByteString(string))def hexToByteString(string): return intToByteString(int(string, 16))def b64ToHex(string): return byteStringToHex(b64ToByteString(string))def b64ToByteString(string): return b64decode(string)def byteStringToHex(byteString): if byteString == "": return "" output = 0 copyString = byteString while len(copyString) > 0: output = output << 8 output += ord(copyString[0]) copyString = copyString[1:] toreturn = hex(output)[2:].rstrip("L") if len(toreturn)%2 != 0: return '0'+toreturn return toreturndef byteStringToB64(byteString): return b64encode(byteString)def intToByteString(integer, bigEndian = True): output = "" while (integer > 0): output = chr(integer & 255) + output if bigEndian else output + chr(integer & 255) integer = integer >> 8 return outputdef byteStringToInt(byteString, bigEndian = True): output = 0 for char in byteString[::1 if bigEndian else -1]: output = output << 8 output += ord(char) return output