Вообщем ситуация такова есть хеши такого вида: lFSeHoGK-j2VSGI0OOC0 8Skh8jDsSiOiU_o-4azt Ez2lH_vGp2KwZNuRAlg2 D7uhtbq_6zzWUaHbrYN3 В хеше храняться цифры а точне 16 цифр. 1. Все хеши 20 символов. 2. Код (Text): function safe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array('+','/','='),array('-','_',''),$data); return $data; } function safe_b64decode($string) { $data = str_replace(array('-','_'),array('+','/'),$string); $mod4 = strlen($data) % 4; if ($mod4) $data .= substr('====', $mod4); return base64_decode($data); } function encode($value) { if(!$value){return false;} $text = $value; $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256,skey, $text, MCRYPT_MODE_ECB, $iv); return trim(safe_b64encode($crypttext)); } function decode($value) { if(!$value){return false;} $crypttext = safe_b64decode($value); $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, skey, $crypttext, MCRYPT_MODE_ECB, $iv); return trim($decrypttext); } Возможно что то с этого использовалось только не MCRYPT_RIJNDAEL_256 т.к при генерации дает подлиней строку. P.S Кто поможет разобратся тому подарок $ на хорошую пъянку)
И так вижу тихо ... Ну что готов заплатить 1к $ за алгоритм. Кто поможет писать в асю 64567295-0 Или оставлять свои подметки тут.
skey ето переменая к декодировке т.е ключ выше указаный код не работает скорей всего ето модификация старого в етом используется RIJNDAEL 256 и safe_base64 но при генерации и декодировке ничего не канает длина получается большая а декодировка моих хешей без смысла.
но как видно тут после кодировки сработал Код (Text): function safe_b64decode($string) { $data = str_replace(array('-','_'),array('+','/'),$string); $mod4 = strlen($data) % 4; if ($mod4) $data .= substr('====', $mod4); return base64_decode($data); } т.е кто не знает php : 1.сode ==> base64 ==> "+" заменяются "-" а "/" заменяются "_" все знаки равно удаляются. Mcrypt ето библиотека хешей я как варянт думаю она могла использоватся. Т.к в новой версии скрипта хеши похожие но очень длинные.
h0xe, после преобразования base64 ==> hex получается: Код (Text): lFSeHoGK-j2VSGI0OOC0 => lFSeHoGK+j2VSGI0OOC0 => 94549e1e818afa3d9548623438e0b4 - 15 байт информации. Код, приведенный в #1 должен генерить 32 байта информации (блок), т.к. в коде используется блочный симметричный алгоритм шифрования MCRYPT_RIJNDAEL_256 (AES-256) Ваши "хеши" длиной 15 байт никак не вяжутся с MCRYPT_RIJNDAEL_256... - Использовался другой алгоритм, возможно - нестандартный (или обрезанный стандартный), т.к. длина хешей обычно кратна 4 байтам. Для определения алгоритма хеширования надо приводить пары: пароль-хеш или тройки пароль+соль-хеш (либо еще вариант: логин+пароль+соль-хеш). Тогда возможно будет определить алгоритм...