| 
 | 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