Показать сообщение отдельно

  #3  
Старый 20.12.2007, 01:47
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
С нами: 10274726

Репутация: 1917


По умолчанию

Цитата:
Сообщение от -=lebed=-  
Вот сделал функцию для распознавания типа хэша (пока только 4, точнее 3, так как хэши MySQL5 и SHA-1 неотличимы).
PHP код:
 function type_hash($string

if (
ereg('^([a-fA-F0-9]{16})$'$string)) return 1// MySQL
if (ereg('^([a-fA-F0-9]{32})$'$string)) return 2// MD5
if (ereg('^([a-fA-F0-9]{40})$'$string)) return 3// MySQL5 или SHA-1
return 0// неизвестен

1.Как сделать тоже самое, используя функцию preg_match?

2. Помогите с регулярками для определения типов хэшей:
DES (пример:HlXOX8MN5z4X6),
MD5 (Unix) $1$$uqbusDeGY2YWqg.T2S1100
MD5(APR) $apr1$$kRqAZHnuzcwDL84Mm7oc1.
MD5(Base64) Gh3JHJBzJcaScd3wyUS8cg==
SHA-1 (Base64) NU4eI71bcnBGqeO0t9tXvY1u5oQ=

для MD5(Base64) и SHA-1 (Base64) даже придумывать ничего не надо поидее:

PHP код:
 function type_hash($string

if (
ereg('^([a-fA-F0-9]{16})$'$string)) return 1// MySQL
if (ereg('^([a-fA-F0-9]{32})$'$string)) return 2// MD5
if (ereg('^([a-fA-F0-9]{40})$'$string)) return 3// MySQL5 или SHA-1
if (ereg('^([a-fA-F0-9]{32})$'base64_decode($string))) return 4;// MD5(Base64)
if (ereg('^([a-fA-F0-9]{40})$',  base64_decode($string))) return 5//SHA-1 (Base64)
return 0// неизвестен

__________________
Карфаген должен быть разрушен...
 
Ответить с цитированием