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")
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")
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