#!/usr/bin/env python3 # TODO: Actually break the hashes? # TODONE in chernobreak.py def hash(chars): ret = 0; for c in chars: ret += c ret = ((ret << 5) - ret) & 0xffff return ret while True: try: line = input("> ") if (len(line) and line[0] == '~'): h = hash(bytes.fromhex(line[1:])); else: h = hash(line.encode()) print(f"hash: {h:x}, box[3]: {h&7:x}, box[4]: {h&0xf:x}"); except EOFError: break print("")