Example #1
0
def signer_check(signer, info):
    try:
        old, signer = signer.split('.')
    except (AttributeError, ValueError):
        return False

    if old != info:
        return False

    mac = hmac.new(COOKIE_SECRET.encode(), digestmod=hashlib.sha256)
    mac.update(info.encode())
    check = mac.digest()
    return base64.urlsafe_b64decode(signer) == check
Example #2
0
def signer_encode(info):
    mac = hmac.new(COOKIE_SECRET.encode(), digestmod=hashlib.sha256)
    mac.update(info.encode())
    signer = base64.urlsafe_b64encode(mac.digest()).decode()

    return "%s.%s" % (info, signer)