bcrypt.ctf/bcrypter/hash/og.py

15 lines
334 B
Python

'''
The unchanged original "bcrypt" function for the CTF (by bpaul)
'''
def bcrypt(x: bytes) -> int:
h = 18446744073709551614
for (i, b) in enumerate(x):
h *= h * (b + 1)
k = 59275109328752 * (i + 1)
for j in range(8):
k ^= b << (j * j)
h += k
h %= (2 ** 64)
return h