Я пытаюсь улучшить текущую реализацию скрытия пароля, указаннуюНевозможно зашифровать открытый текст для пароля
Я использую это неправильно? Как ниже мой код:
import hashlib
import binascii
def Encrypt_Pass(password, authenticator, secret):
m = hashlib.md5()
m.update(secret+authenticator)
return "".join(chr(ord(x)^ord(y)) for x, y in zip(password.ljust
(16,'\0')[:16], m.digest()[:16]))
result = Encrypt_Pass("abcd1","344c71c77a2b845b8856ffa968740b73","sharedsecret")
ciphertext = "6ed3a35440abe69b2e8698109b809932"#plaintext is cisco123
print result.encode("hex")
Результат показан ниже:
2509f347a7c5bde3977bb944ae0eb89a
Как вы можете видеть, возвращаемый шифротекста не соответствует зашифрованный пароль, который я захватить! Я неправильно использую код? Я проверял, что пароль открытого текста и используемый общий ключ являются точными.
Цените, если кто-то может указать мне правильное направление.
[MD5 не шифрования] (https://paragonie.com/blog/2015/08/you-wouldnt-base64-a-password-cryptography-decoded). –