Generating Random Bytes with PBKDF2HMAC in Python

  • Share this:

Code introduction


This function uses the cryptography library to generate a specified number of random bytes. It first generates a random salt and then uses the PBKDF2HMAC algorithm with SHA256 hash function to generate the encrypted random bytes.


Technology Stack : cryptography

Code Type : Function

Code Difficulty : Intermediate


                
                    
def generate_random_bytes(length):
    from cryptography.hazmat.backends import default_backend
    from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
    from cryptography.hazmat.primitives import hashes

    # Generate a random salt
    salt = PBKDF2HMAC(
        algorithm=hashes.SHA256(),
        length=16,
        salt=None,
        iterations=100000,
        backend=default_backend()
    ).derive(b'some_random_salt')

    # Generate random bytes using the salt
    random_bytes = PBKDF2HMAC(
        algorithm=hashes.SHA256(),
        length=length,
        salt=salt,
        iterations=100000,
        backend=default_backend()
    ).derive(b'password')

    return random_bytes                
              
Tags: