Here are two functions to encode and decode using mcrypt.
Code: Select all
DEFINE ("Keysize","f23r09aj09f3wqj90");
function encode($data)
{
$td = mcrypt_module_open (MCRYPT_TripleDES, "", MCRYPT_MODE_ECB, "");
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size ($td), MCRYPT_RAND);
$encdata = mcrypt_ecb (MCRYPT_TripleDES,(Keysize), $data, MCRYPT_ENCRYPT, $iv);
$hextext=bin2hex($encdata);
return $hextext;
}
function decode($data)
{
$td = mcrypt_module_open (MCRYPT_TripleDES, "", MCRYPT_MODE_ECB, "");
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size ($td), MCRYPT_RAND);
$dectext = rtrim(mcrypt_ecb (MCRYPT_TripleDES,(Keysize), pack("H" . strlen($data), $data), MCRYPT_DECRYPT,$iv), "\0");
return $dectext;
}
$test_string = "My Test";
echo "String to encode: " . $test_string . "<br>";
$encoded_data = encode($test_string);
echo "Encoded data: " . $encoded_data . "<br>";
$decoded_data = decode($encoded_data);
echo "Decoded data: " . $decoded_data . "<br>";
Change the Keysize define to any string of letters and numbers for your own private key. The $test_string and $decoded_data should match. The $encoded_data is the mcrypt encoded string.