Решил опубликовать очередной свой класс. Этот класс служит для шифрования/кодирования. Меньше слов, смотрим код. Вопросы в комментарии.
<?php class Crypt { protected static $_config = array( 'algorithm' => MCRYPT_BLOWFISH, 'mode' => MCRYPT_MODE_ECB, 'key' => 'crypt_key', 'md5' => 'md5_salt', 'sha1' => 'sha1_salt'); private static $resource = null; protected static function init() { if(!self::$resource) { self::$resource = mcrypt_module_open(self::$_config['algorithm'], null, self::$_config['mode'], null); mcrypt_generic_init(self::$resource, self::$_config['key'], mcrypt_create_iv(mcrypt_enc_get_iv_size(self::$resource), MCRYPT_RAND)); } } public static function mcrypt_encrypt($str) { self::init(); return mcrypt_generic(self::$resource, $str); } public static function mcrypt_decrypt($str) { self::init(); return rtrim(mdecrypt_generic(self::$resource, $str)); } public static function hex_encrypt($string) { $hex = ''; for ($i=0; $i < strlen($string); $i++) $hex .= dechex(ord($string[$i])); return $hex; } public static function hex_decrypt($hex) { $string = ''; for ($i = 0; $i < strlen($hex)-1; $i += 2) $string .= chr(hexdec($hex[$i] . $hex[$i+1])); return $string; } public static function GetRandomHash($length = 6) { $hChars = unserialize('a:62:{i:0;i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;i:5;i:6;i:6;i:7;i:7;i:8;i:8;i:9;i:9;i:10;s:1:"A";i:11;s:1:"a";i:12;s:1:"B";i:13;s:1:"b";i:14;s:1:"C";i:15;s:1:"c";i:16;s:1:"D";i:17;s:1:"d";i:18;s:1:"E";i:19;s:1:"e";i:20;s:1:"F";i:21;s:1:"f";i:22;s:1:"G";i:23;s:1:"g";i:24;s:1:"H";i:25;s:1:"h";i:26;s:1:"I";i:27;s:1:"i";i:28;s:1:"J";i:29;s:1:"j";i:30;s:1:"K";i:31;s:1:"k";i:32;s:1:"L";i:33;s:1:"l";i:34;s:1:"M";i:35;s:1:"m";i:36;s:1:"N";i:37;s:1:"n";i:38;s:1:"O";i:39;s:1:"o";i:40;s:1:"P";i:41;s:1:"p";i:42;s:1:"Q";i:43;s:1:"q";i:44;s:1:"R";i:45;s:1:"r";i:46;s:1:"S";i:47;s:1:"s";i:48;s:1:"T";i:49;s:1:"t";i:50;s:1:"U";i:51;s:1:"u";i:52;s:1:"V";i:53;s:1:"v";i:54;s:1:"W";i:55;s:1:"w";i:56;s:1:"X";i:57;s:1:"x";i:58;s:1:"Y";i:59;s:1:"y";i:60;s:1:"Z";i:61;s:1:"z";}'); $hash = ''; for($i = 0; $i < $length ; $i++) $hash .= $hChars[array_rand($hChars)]; return $hash; } public static function md5($string, $raw_output = false) { return md5($string . sha1($string . self::$_config['sha1']) . self::$_config['md5'], $raw_output); } public static function sha1($string, $raw_output = false) { return sha1($string . md5($string . self::$_config['md5']) . self::$_config['sha1'], $raw_output); } public static function base64_encode($string) { return strtr(base64_encode($string), '+/=', '-_~'); } public static function base64_decode($string) { return base64_decode(strtr($string, '-_~', '+/=')); } }
Кстати, я планирую заняться разработкой собственного продукта для управления сервером. Думаю в конце лета покажу beta версию своей панели (даже название не могу придумать 🙂 )
Симпатичные всплывающие окошки на jQuery — ThickBox – всплывающие окна на jQuery
Проблемы с компьютером? Вам сюда — ремонт компьютеров
А как использовать, можно пример использования и конечный результат?
Ну что, продукт для управления сервером развивается, или забили?)
Было бы интересно увидеть)) Пусть и бету)
В свое время проделал довольно большую работу, но из-за недостатка времени разработку проекта пришлось приостановить на неопределенный срок.. Инвестиции бы все решили 🙂