Я думаю, причина того, что вы получаете эту ошибку, состоит в том, что метод инициализации класса ожидает, что ключ будет ровно 8, если что-то еще вызывает ошибку, которую вы видите, это init изкласс, который вы вызываете из pyDes:
# Initialisation
def __init__(self, key, mode=ECB, IV=None, pad=None, padmode=PAD_NORMAL):
# Sanity checking of arguments.
if len(key) != 8:
raise ValueError("Invalid DES key size. Key must be exactly 8 bytes long.")
Если вы сделаете это для отладки:
def encrypt(message, passkey):
hash_object = hashlib.sha1(passkey.encode("utf-8"))
digested_passkey = hash_object.digest() //hashing
key24 = "{: <24}".format(digested_passkey)
print len(key24)
Вы увидите, что длина ключа равна 24, поэтому я думаю, что этоне принимается.
Я могу ошибаться, но на первый взгляд кажется, что проблема.