#!/usr/bin/env python3

import hashlib
import sys


def sha256_hex(s):
    return hashlib.sha256(s.encode("utf-8")).hexdigest()


def main():
    if len(sys.argv) != 3:
        print(f"Usage: {sys.argv[0]} <string1> <string2>", file=sys.stderr)
        sys.exit(1)

    hash1 = sha256_hex(sys.argv[1])
    hash2 = sha256_hex(sys.argv[2])

    differing_bits = sum(
        (a ^ b).bit_count()
        for a, b in zip(bytes.fromhex(hash1), bytes.fromhex(hash2))
    )

    print(f"hash1:", hash1)
    print(f"hash2:", hash2)
    print(f"differing bits:", differing_bits)


if __name__ == "__main__":
    main()
