Hash :
a4581c15
Author :
Date :
2018-05-16T12:59:09
Add tools to download and transform static dictionary data. (#670)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
# Step 03 - validate raw dictionary file.
#
# CRC32, MD5, SHA1 and SHA256 checksums for raw binary dictionary are checked.
import hashlib
import zlib
bin_path = "dictionary.bin"
with open(bin_path, "rb") as raw:
data = raw.read()
def check_digest(name, expected, actual):
if expected == actual:
print("[OK] " + name)
else:
print("[ERROR] " + name + " | " + expected + " != " + actual)
check_digest(
"CRC32", # This is the only checksum provided in RFC.
"0x5136cb04",
hex(zlib.crc32(data)))
check_digest(
"MD5",
"96cecd2ee7a666d5aa3627d74735b32a",
hashlib.md5(data).hexdigest())
check_digest(
"SHA1",
"72b41051cb61a9281ba3c4414c289da50d9a7640",
hashlib.sha1(data).hexdigest())
check_digest(
"SHA256",
"20e42eb1b511c21806d4d227d07e5dd06877d8ce7b3a817f378f313653f35c70",
hashlib.sha256(data).hexdigest())