无法将明文加密为密码
Unable to encrypt plaintext to password
我正在尝试增强当前密码隐藏的实现
我是不是用错了?如下是我的代码:
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,'[=10=]')[:16], m.digest()[:16]))
result = Encrypt_Pass("abcd1","344c71c77a2b845b8856ffa968740b73","sharedsecret")
ciphertext = "6ed3a35440abe69b2e8698109b809932"#plaintext is cisco123
print result.encode("hex")
结果如下:
2509f347a7c5bde3977bb944ae0eb89a
如您所见,返回的密文与我捕获的加密密码不匹配!我错误地使用了代码吗?我验证了使用的明文密码和共享密钥是准确的
如果有人能指出正确的方向,我将不胜感激。
您的身份验证器是一个十六进制字符串。它需要转换为二进制字符串。
import hashlib
from binascii import a2b_hex
def Encrypt_Pass(password, authenticator, secret):
m = hashlib.md5()
m.update(secret + a2b_hex(authenticator))
return "".join(chr(ord(x) ^ ord(y)) for x, y in zip(password.ljust
(16,'[=10=]')[:16], m.digest()[:16]))
result = Encrypt_Pass("cisco123","344c71c77a2b845b8856ffa968740b73","sharedsecret")
ciphertext = "6ed3a35440abe69b2e8698109b809932"#plaintext is cisco123
print result.encode("hex")
我正在尝试增强当前密码隐藏的实现
我是不是用错了?如下是我的代码:
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,'[=10=]')[:16], m.digest()[:16]))
result = Encrypt_Pass("abcd1","344c71c77a2b845b8856ffa968740b73","sharedsecret")
ciphertext = "6ed3a35440abe69b2e8698109b809932"#plaintext is cisco123
print result.encode("hex")
结果如下:
2509f347a7c5bde3977bb944ae0eb89a
如您所见,返回的密文与我捕获的加密密码不匹配!我错误地使用了代码吗?我验证了使用的明文密码和共享密钥是准确的
如果有人能指出正确的方向,我将不胜感激。
您的身份验证器是一个十六进制字符串。它需要转换为二进制字符串。
import hashlib
from binascii import a2b_hex
def Encrypt_Pass(password, authenticator, secret):
m = hashlib.md5()
m.update(secret + a2b_hex(authenticator))
return "".join(chr(ord(x) ^ ord(y)) for x, y in zip(password.ljust
(16,'[=10=]')[:16], m.digest()[:16]))
result = Encrypt_Pass("cisco123","344c71c77a2b845b8856ffa968740b73","sharedsecret")
ciphertext = "6ed3a35440abe69b2e8698109b809932"#plaintext is cisco123
print result.encode("hex")