You have just upped my game. No longer will I hand-type my imports when I need to bust out the Swiss army knife and type a quick (now lightning-fast) calculation. Don't know why I didn't do this sooner.
For anyone needing more inspiration, here is some pseudocode for my version (which also has accompanying print()'s in the live script as a reminder of what my imports are):
>>> from base64 import b64encode as be, b64decode as bd;from binascii import hexlify as hexl, unhexlify as unhexl;from Crypto.Random import get_random_bytes as grb;from Crypto.Random.random import randint # PARAMS (a, b) INCLUSIVE;from Crypto.Hash import SHA1, SHA256;from urllib.parse import quote, unquote
For anyone needing more inspiration, here is some pseudocode for my version (which also has accompanying print()'s in the live script as a reminder of what my imports are):
>>> from base64 import b64encode as be, b64decode as bd;from binascii import hexlify as hexl, unhexlify as unhexl;from Crypto.Random import get_random_bytes as grb;from Crypto.Random.random import randint # PARAMS (a, b) INCLUSIVE;from Crypto.Hash import SHA1, SHA256;from urllib.parse import quote, unquote