示例#1
0
 def test_generate(self, secret, now, iv, src, token, backend):
     f = Fernet(secret.encode("ascii"), backend=backend)
     actual_token = f._encrypt_from_parts(
         src.encode("ascii"),
         calendar.timegm(iso8601.parse_date(now).utctimetuple()),
         b"".join(map(six.int2byte, iv)))
     assert actual_token == token.encode("ascii")
示例#2
0
 def test_generate(self, secret, now, iv, src, token, backend):
     f = Fernet(secret.encode("ascii"), backend=backend)
     actual_token = f._encrypt_from_parts(
         src.encode("ascii"),
         calendar.timegm(iso8601.parse_date(now).utctimetuple()),
         b"".join(map(six.int2byte, iv))
     )
     assert actual_token == token.encode("ascii")
示例#3
0
def test_fernet():
    current_time = int(time.time())
    iv = os.urandom(16)
    from cryptography.fernet import Fernet as CFernet

    salt = os.urandom(16)
    key = pbkdf2_hmac('sha256', b"password", salt, 100000, dklen=32)
    ckey = base64.urlsafe_b64encode(key)
    cfernet = CFernet(ckey)
    ccipher = cfernet._encrypt_from_parts(b"Secret message!", current_time, iv)

    fernet = Fernet(ckey)
    cipher = fernet._encrypt_from_parts(b"Secret message!", current_time, iv)
    assert cipher == ccipher
    ctext = cfernet.decrypt(ccipher)
    text = fernet.decrypt(cipher)

    assert ctext == text