Hi all, I'm looking at a way of encrypting AND decrypting a string (cc#) with a key. I plan to store the key in a file outside the docroot, and have asked the ISP for as much advice as possible to protect the key file.
Anyway, since it needs to be encrypted and decrypted with a key, I obviously can't use the old faithfull md5(), and from my understanding of the manual, crypt() is also one-way. Then I found mcrypt_encrypt() and mcrypt_decrypt(). Paraphrasing the samples in the php manual, does the below code achieve what I want, assuming that the key would usually be stored in a separate file outside the docroot? <? $iv = mcrypt_create_iv (mcrypt_get_iv_size (MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND); $key = "This is a very secret key"; $text = "11112222333344445555"; echo "plain string: {$text}<BR>"; $crypttext = mcrypt_encrypt (MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv); echo "encoded string: {$crypttext}<BR>"; $dectext = mcrypt_decrypt (MCRYPT_RIJNDAEL_256, $key, $crypttext, MCRYPT_MODE_ECB, $iv); echo "decoded string: {$dectext}<BR>"; ?> I'm getting the following error using 4.1.1: "Fatal error: Call to undefined function: mcrypt_create_iv() in /usr/local/apache/htdocs/tests/enc.php on line 3" Which is confusing, given that the manual says mcrypt_create_iv() is available in PHP 4. Any ideas / contributions / pointers? Justin French -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php