要約アルゴリズム:hashlibの使用

1019 ワード

hashlibモジュール:
要約アルゴリズム
使用例:
import hashlib
md5 = hashlib.md5()
md5.update("alex3714")
print(md5.hexdigest())

  :
aee949757a2e698417463d47acac93df

sha = hashlib.sha1()
sha.update("alex3714")
print(sha.hexdigest())

  :
8a003668a9c990f15148f9e4046e1410781533b6
同じ文字列に対して同じアルゴリズムを用いて要約を行い,得られた値は常に不変であり,アルゴリズムの複雑さが増すにつれて,相対的な空間コストと時間コストも増加する.
要約アルゴリズムは何ができますか?
1.パスワードの暗号文保存2.ファイルの一致検証
#      md5  

1、
FILE_NAME = "      .md"
md = hashlib.md5()

with open(FILE_NAME, "r") as f:
while True:
    line = f.readline()
    if line:
        # print(line)
        md.update(line)
    else:
        break
print(md.hexdigest())

    :
687cbb8293a99b8a5049212502e77680


2、
with open(FILE_NAME, "r") as f:
line = f.read()

md.update(line)
print(md.hexdigest())

    :
687cbb8293a99b8a5049212502e77680
最初のセグメントのコードは行ごとに読み取られ、読み取りが完了するごとに暗号化された第2のセグメントのコード全体が読み取られ、最後に全体暗号化されます.
二回の実行結果は同じです.サブ暗号化と全体暗号化の効果は同じで、読み込んだデータは同じです.