<?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>"; ?>