mirror of
https://github.com/google/brotli.git
synced 2024-11-22 03:30:07 +00:00
0e42caf359
Not all combinations are migrated to the initial configuration; corresponding TODOs added. Drive-by: additional combinations uncovered minor portability problems -> fixed Drive-by: remove no-longer used "script" files. Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
36 lines
875 B
Python
36 lines
875 B
Python
# 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())
|