Кодирование сообщения по ключу

<?php
/*
* Кодирование сообщения по ключу
* автор: nc_soft
* 26.03.08
*/

$key="это ключ, если его не знать ничего не расшифровать";

$text="кодируемое сообщение";

//закодируем
$code=mcrypt_ecb(MCRYPT_DES,$key,$text,MCRYPT_ENCRYPT);

//сообщени закодировано, приняло вид бессмысленного набора байтов
echo "<p>сообщение закодировано: <b>$code</b></p>";

//раскодируем (надо применить ключ к этому набору байтов)
$decode=mcrypt_ecb(MCRYPT_DES,$key,$code,MCRYPT_DECRYPT);

echo "<p>сообщение раскодировано: <b>$decode</b></p>";

/*
что же делать, если на хостинге нет библиотеки для шифрования?
конечно же можно воспользоваться самопальными функциями их комментов сайта php.net или 
написать свою функцию :)
*/

function encrypt($string, $key) {
	$result = '';
	for($i=0; $i<strlen($string); $i++) {
		$char = substr($string, $i, 1);
		$keychar = substr($key, ($i % strlen($key))-1, 1);
		$char = chr(ord($char)+ord($keychar));
		$result.=$char;
	}

	return base64_encode($result);
}

function decrypt($string, $key) {
	$result = '';
	$string = base64_decode($string);

	for($i=0; $i<strlen($string); $i++) {
		$char = substr($string, $i, 1);
		$keychar = substr($key, ($i % strlen($key))-1, 1);
		$char = chr(ord($char)-ord($keychar));
		$result.=$char;
	}

	return $result;
}

//закодируем
$code=encrypt($text,$key);

//сообщени закодировано
echo "<p>сообщение закодировано: <b>$code</b></p>";

//раскодируем
$decode=decrypt($code,$key);

echo "<p>сообщение раскодировано: <b>$decode</b></p>";

?>