What are the best practices for storing binary strings in a database when using mcrypt_create_iv() in PHP?

When storing binary strings in a database using mcrypt_create_iv() in PHP, it is important to properly encode the binary data to ensure it is safely stored and retrieved. One common method is to use base64 encoding to convert the binary data into a string format that can be safely stored in a database.

// Generate a random initialization vector
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_DEV_URANDOM);

// Encode the binary IV to base64 before storing in the database
$encoded_iv = base64_encode($iv);

// Decode the base64 IV when retrieving from the database
$decoded_iv = base64_decode($encoded_iv);

// Use the decoded IV for encryption/decryption