123456789101112 |
- def hash(cls, secret, user, realm, encoding=None):
- # NOTE: this was deliberately written so that raw bytes are passed through
- # unchanged, the encoding kwd is only used to handle unicode values.
- if not encoding:
- encoding = cls.default_encoding
- uh.validate_secret(secret)
- if isinstance(secret, unicode):
- secret = secret.encode(encoding)
- user = to_bytes(user, encoding, "user")
- realm = to_bytes(realm, encoding, "realm")
- data = render_bytes("%s:%s:%s", user, realm, secret)
- return hashlib.md5(data).hexdigest()
|