前提・実現したいこと
ハッシュについて勉強しています。
ハッシュ化するにはhashlib.アルゴリズム(文字列).hexdigest()でハッシュ化できると思うのですが、最後のhexdigest()を行う理由がわかりません。
該当のソースコード
python
1import hashlib 2 3block = {'b':2, 'a':1 } 4print(hashlib.sha256(str(block).encode())) 5print(hashlib.sha256(str(block).encode()).hexdigest())
実行結果
46e391c4281c162dc452a58d0a756ec6568ebe3acbd9d3731d1eccc66c23d17b
<sha256 HASH object @ 0x0000000003BDA198>
確かめたいこと
hexdigestを行わなくても16進数のハッシュが作られています。なぜhexdigestをするのでしょうか?
ハッシュ化は結果の文字列から復元できないこと、となっているためhexdigestする前のものでは復元が出来そう?だからhexdigestを最後に行って復元できないような複雑な文字列を作っているのでしょうか?
ご存知の方、教えてください。
環境
Python3.7.3
回答1件
あなたの回答
tips
プレビュー