def hash_pix(pixels): m = hasher1() n = hasher2() m.update(pixels) n.update(pixels) b64m = encode(m.digest()).replace('=', '') b64n = encode(n.digest()).replace('=', '') return "{}{}".format(b64m, b64n)
def gen_hash_codes(data): hash_codes = {} for image_id, browser in data: hashes = [] for i in range(case_number): img = Image.open(open_root + "images/origins/" + str(image_id) + '_' + str(i) + '.png') m = hasher1() n = hasher2() pixels = '' for r, g, b in img.getdata(): pixels += '{}{}{}'.format(r, g, b) m.update(pixels) n.update(pixels) b64m = encode(m.digest()).replace('=', '') b64n = encode(n.digest()).replace('=', '') hashes.append(b64m + b64n) hash_codes.update({browser_to_id[browser]: hashes}) return hash_codes
def gen_hash_codes(image_id): hashes = [] files = glob("{}images/origins/{}_*.png".format(open_root, image_id)) files = [f for f in files if f.find("lang") == -1] files = sorted(files, key=lambda f: int(f.split("_")[1].split(".")[0])) for file in files: img = Image.open(file) m = hasher1() n = hasher2() pixels = '' for r, g, b in img.getdata(): pixels += '{}{}{}'.format(r, g, b) m.update(pixels) n.update(pixels) b64m = encode(m.digest()).replace('=', '') b64n = encode(n.digest()).replace('=', '') hashes.append(b64m + b64n) return hashes