def generate_keys(path):
salt = '5dIFp5Nb8n1kyPRSU8dKGyhJHx317PA3'
keyOffsets = [8, 25, 22, 47, 24, 5, 16, 9, 33, 3, 45, 1, 30, 34, 37, 36,
15, 39, 11, 14, 23, 29, 26, 40, 31, 7, 13, 38, 27, 17, 12, 21]
ivOffsets = [28, 19, 2, 46, 4, 20, 18, 41, 32, 43, 0, 6, 44, 10, 35, 42]
filename = basename(path)
toHash = salt + filename + salt + filename
hashed = bytes(hashlib.sha384(toHash.encode('ASCII')).digest())
key = [0] * 32
for offset, i in zip(keyOffsets, range(32)):
key[i] = hashed[offset]
iv = bytearray([0]*16)
for offset, i in zip(ivOffsets, range(16)):
iv[i] = hashed[offset]
iv = bytes(iv)
iv = unpack('<Q', iv[:8])[0] | (unpack('<Q', iv[8:])[0] << 64)
return key, iv
评论列表
文章目录