|  | 
|  | 1 | +# hlib.py | 
|  | 2 | +# NOT A PYTHON MODULE - DO NOT ATTEMPT TO RUN | 
|  | 3 | + | 
|  | 4 | +# hlib.py | 
|  | 5 | +>>> import hashlib | 
|  | 6 | +>>> hashlib.algorithms_available | 
|  | 7 | +{'mdc2', 'sha224', 'whirlpool', 'sha1', 'sha3_512', 'sha512_256', | 
|  | 8 | + 'sha256', 'md4', 'sha384', 'blake2s', 'sha3_224', 'sha3_384', | 
|  | 9 | + 'shake_256', 'blake2b', 'ripemd160', 'sha512', 'md5-sha1', | 
|  | 10 | + 'shake_128', 'sha3_256', 'sha512_224', 'md5', 'sm3'} | 
|  | 11 | +>>> hashlib.algorithms_guaranteed | 
|  | 12 | +{'blake2s', 'md5', 'sha224', 'sha3_512', 'shake_256', 'sha3_256', | 
|  | 13 | + 'shake_128', 'sha256', 'sha1', 'sha512', 'blake2b', 'sha3_384', | 
|  | 14 | + 'sha384', 'sha3_224'} | 
|  | 15 | + | 
|  | 16 | +>>> h = hashlib.blake2b() | 
|  | 17 | +>>> h.update(b'Hash me') | 
|  | 18 | +>>> h.update(b' now!') | 
|  | 19 | +>>> h.hexdigest() | 
|  | 20 | +'56441b566db9aafcf8cdad3a4729fa4b2bfaab0ada36155ece29f52ff70e1e9d' | 
|  | 21 | +'7f54cacfe44bc97c7e904cf79944357d023877929430bc58eb2dae168e73cedf' | 
|  | 22 | +>>> h.digest() | 
|  | 23 | +b'VD\x1bVm\xb9\xaa\xfc\xf8\xcd\xad:G)\xfaK+\xfa\xab\n\xda6\x15^' | 
|  | 24 | +b'\xce)\xf5/\xf7\x0e\x1e\x9d\x7fT\xca\xcf\xe4K\xc9|~\x90L\xf7' | 
|  | 25 | +b'\x99D5}\x028w\x92\x940\xbcX\xeb-\xae\x16\x8es\xce\xdf' | 
|  | 26 | +>>> h.block_size | 
|  | 27 | +128 | 
|  | 28 | +>>> h.digest_size | 
|  | 29 | +64 | 
|  | 30 | +>>> h.name | 
|  | 31 | +'blake2b' | 
|  | 32 | + | 
|  | 33 | +>>> hashlib.sha256(b'Hash me now!').hexdigest() | 
|  | 34 | +'10d561fa94a89a25ea0c7aa47708bdb353bbb062a17820292cd905a3a60d6783' | 
|  | 35 | + | 
|  | 36 | + | 
|  | 37 | +>>> import hashlib | 
|  | 38 | +>>> h1 = hashlib.blake2b(b'Important data', digest_size=16, | 
|  | 39 | +...                      person=b'part-1') | 
|  | 40 | +>>> h2 = hashlib.blake2b(b'Important data', digest_size=16, | 
|  | 41 | +...                      person=b'part-2') | 
|  | 42 | +>>> h3 = hashlib.blake2b(b'Important data', digest_size=16) | 
|  | 43 | +>>> h1.hexdigest() | 
|  | 44 | +'c06b9af95d5aa6307e7e3fd025a15646' | 
|  | 45 | +>>> h2.hexdigest() | 
|  | 46 | +'9cb03be8f3114d0f06bddaedce2079c4' | 
|  | 47 | +>>> h3.hexdigest() | 
|  | 48 | +'7d35308ca3b042b5184728d2b1283d0d' | 
|  | 49 | + | 
|  | 50 | +>>> import os | 
|  | 51 | +>>> dk = hashlib.pbkdf2_hmac('sha256', b'Password123', | 
|  | 52 | +...   salt=os.urandom(16), iterations=100000) | 
|  | 53 | +>>> dk.hex() | 
|  | 54 | +'f8715c37906df067466ce84973e6e52a955be025a59c9100d9183c4cbec27a9e' | 
0 commit comments