Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Хеширование пароля
Форумы портала PHP.SU » PHP » Пользовательские функции » Хеширование пароля

Страниц (2): [1] 2 »
 

1. snikers987 - 21 Ноября, 2011 - 21:35:39 - перейти к сообщению
Сказать, долго сомневался, стоит постить подобное или нет, но все же решил.
Представляю Вашему вниманию скромную функцию, но на мой взгляд полезную, которая создает хеш из полученной строки:

PHP:
скопировать код в буфер обмена
  1.  
  2. function Hashed($string){
  3.         $Hash = '';
  4.         $tempStr = '';
  5.         if(!empty($string)){
  6.                 $HashStr = trim($string.$string.$string);
  7.                 $HashStr = str_split($HashStr);
  8.                 foreach($HashStr as $symbol){
  9.                         $tempStr .= base64_encode(md5(sha1(md5(md5(sha1($symbol))))));
  10.                 }
  11.                 for($i=0; $i<5; $i++){
  12.                         $tempStr .= $tempStr.md5(sha1($tempStr));
  13.                 }
  14.                 $Hash = md5($tempStr);
  15.                 return $Hash;
  16.         }
  17.         return false;
  18. }
  19.  
2. EuGen - 21 Ноября, 2011 - 22:04:18 - перейти к сообщению
Всегда хватало md5(строка+соль). Остальное - излишки. Столько же вложенных и последовательных вызовов будут выполняться долго по времени.
Но и такой способ имеет место быть.
3. snikers987 - 21 Ноября, 2011 - 22:24:50 - перейти к сообщению
EuGen пишет:
Всегда хватало md5(строка+соль). Остальное - излишки. Столько же вложенных и последовательных вызовов будут выполняться долго по времени.
Но и такой способ имеет место быть.


Зато гарантия 100500% что не расшифруют =)
4. DlTA - 21 Ноября, 2011 - 22:42:21 - перейти к сообщению
snikers987 пишет:
Зато гарантия 100500% что не расшифруют =)

так ка теперь знают порядок и методы то % можно снизить до 99,9999999
5. snikers987 - 21 Ноября, 2011 - 22:55:19 - перейти к сообщению
DlTA пишет:
snikers987 пишет:
Зато гарантия 100500% что не расшифруют =)

так ка теперь знают порядок и методы то % можно снизить до 99,9999999


Ну и как ты узнаешь где этот алгоритм был использован?=)
6. DeepVarvar - 21 Ноября, 2011 - 22:57:27 - перейти к сообщению
Пальцем в небо - это и есть те самые 99,9999999 Радость
7. snikers987 - 21 Ноября, 2011 - 22:59:45 - перейти к сообщению
DeepVarvar пишет:
Пальцем в небо - это и есть те самые 99,9999999 Радость


Палец вообще штука меткая Радость Радость
8. DeepVarvar - 21 Ноября, 2011 - 23:13:32 - перейти к сообщению
Ну да... И можно попасть совсем не в небо, а во что-нибудь вязкое и волосатое...
Только давайте без ассоциаций, мне всеравно кто там что себе представил, оставим эту тему... Ниндзя
9. Microteam - 05 Декабря, 2011 - 12:09:43 - перейти к сообщению
А я вот думаю что вполне достаточно такой алгоритм: md5(соль.пароль.соль).
10. JSergRu - 21 Апреля, 2012 - 18:55:51 - перейти к сообщению
EuGen пишет:
Всегда хватало md5(строка+соль). Остальное - излишки. Столько же вложенных и последовательных вызовов будут выполняться долго по времени.
Но и такой способ имеет место быть.

Согласен, соль + защита от инъекций лучше хеша из хеша из хеша... Подмигивание
11. LIME - 21 Апреля, 2012 - 19:07:22 - перейти к сообщению
я почемуто считал что мд5 не расшифровывается а находятся коллизии
потому неважно сколько раз ее применить
это не так?
(Добавление)
хотя че эт я
алгоритм то знать всеравно надо
12. OrmaJever - 21 Апреля, 2012 - 19:25:00 - перейти к сообщению
Вот простой пример функции которая криптует строку, без возможности расшифровки, не использующая ни одной стандартной функции хеширования
PHP:
скопировать код в буфер обмена
  1. function _hash($input)
  2. {
  3.         $output = '';
  4.         $itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
  5.         $count = strlen($input);
  6.         for($i=0; $i<$count;)
  7.         {
  8.                 $value = ord($input[$i++]);
  9.                 $output .= $itoa64[$value & 0x3f];
  10.                 if ($i < $count) $value |= ord($input[$i]) << 8;
  11.                 $output .= $itoa64[($value >> 6) & 0x3f];
  12.         }
  13.  
  14.         return $output;
  15. }
  16. echo _hash('mypass');
13. bryanskij - 04 Мая, 2012 - 17:00:19 - перейти к сообщению
OrmaJever пишет:
Вот простой пример функции которая криптует строку, без возможности расшифровки, не использующая ни одной стандартной функции хеширования
PHP:
скопировать код в буфер обмена
  1. function _hash($input)
  2. {
  3.         $output = '';
  4.         $itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
  5.         $count = strlen($input);
  6.         for($i=0; $i<$count;)
  7.         {
  8.                 $value = ord($input[$i++]);
  9.                 $output .= $itoa64[$value & 0x3f];
  10.                 if ($i < $count) $value |= ord($input[$i]) << 8;
  11.                 $output .= $itoa64[($value >> 6) & 0x3f];
  12.         }
  13.  
  14.         return $output;
  15. }
  16. echo _hash('mypass');


Крутая штука.... А что означает 0x3f ?
14. caballero - 04 Мая, 2012 - 17:11:52 - перейти к сообщению
Цитата:
Зато гарантия 100500% что не расшифруют =)

Ну расшифруй md5 а мы полюбуемся
15. snikers987 - 06 Мая, 2012 - 22:16:04 - перейти к сообщению
caballero что-то не понял.. Однако
(Добавление)
И вообще, дату поста моего видили?) С тех пор много воды утекло))

 

Powered by ExBB FM 1.0 RC1