暗号学の自習コースの課題に取り組んでいます (このクラスの単位はありません)。ハッシュがブロックごとに行われる大きなファイルのハッシュ値を計算する必要があります。現時点で困惑しているのは、ファイルをこれらのブロックに分割する方法です。私は非常に新しいpythonを使用しています。
f = open('myfile', 'rb')
BLOCK_SIZE = 1024
m = Crypto.Hash.SHA256.new()
thisHash = ""
blocks = os.path.getsize('myfile') / BLOCK_SIZE #ignore partial last block for now
for i in Range(blocks):
b = f.read(BLOCK_SIZE)
thisHash = m.update(b.encode())
f.seek(block_size, os.SEEK_CUR)
私はこれに正しく取り組んでいますか?行が実行されるまでコードが実行されるようm.update(b.encode())
です。私がベースから外れているのか、それともこれを機能させるために何をすべきかわかりません。アドバイスをいただければ幸いです。ありがとう!
(注: お気づきかもしれませんが、このコードは現時点では実際には何も生成しません。足場のセットアップを行っているところです)