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 :: Версия для печати :: Алгоритм MD5
Форумы портала PHP.SU » » Вопросы новичков » Алгоритм MD5

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

1. dubasua - 21 Июля, 2013 - 16:36:18 - перейти к сообщению
Доброго времени суток.
Возможно ли реализовать на PHP алгоритм функции md5.
Я нигде не могу найти пример, может кто то это уже делал, или знает где его можно найти.
Я хотел написать сам, но дальше перевода строки в двоичный код не продвинулся.
2. OrmaJever - 21 Июля, 2013 - 16:45:36 - перейти к сообщению
скачайте исходники php на офф сайте и посмотрите в файле ./php/ext/standard/md5.c
3. _Dark_ - 21 Июля, 2013 - 16:46:25 - перейти к сообщению
StackOverflow

(буквально 10 - 15 секунд в Google)
4. DelphinPRO - 21 Июля, 2013 - 16:49:19 - перейти к сообщению
Конечно, возможно, почему бы и нет.
Берете подробное описание алгоритма и описываете его кодом на своем любом языке программирования.
5. dubasua - 21 Июля, 2013 - 16:50:01 - перейти к сообщению
Да, по ссылке то что нужно, а не смог найти.
(Добавление)
OrmaJever, скачал, смотрю, ток там формат не php.
(Добавление)
Скопипастил то что _Dark_, дал, но результат отличается от стандартного MD5.
6. teddy - 21 Июля, 2013 - 17:08:30 - перейти к сообщению
dubasua пишет:
ток там формат не php.

Если PHP, то набросал тут для вас небольшой "кодик"... )) Это конечно не md5, но все же...
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. if(isset($_POST['submit']))
  4. {
  5.  
  6. $str = $_POST['str'];
  7.  
  8. function myMD5($str)
  9.  
  10. {
  11.     $arr0 = array("1", "2", "b");
  12.     $arr1 = array("5jhfdsjfhs4fsfsf65bqa7d566wc31f", "5jhfdsjabc4fsfsf6525a7d566wc91z", "gjdjdkkkwods555444sa64648sdfgasd");
  13.  
  14. $result = str_replace($arr0, $arr1, $str);     
  15.        
  16.     if(strlen($result) > 32)
  17.         {
  18.         $result = substr($result, 0, 32);
  19.         }
  20.         return $result;
  21. }
  22.  
  23. echo myMD5($str);
  24. }
  25. ?>
  26. <form action="" method="post">
  27. <input type="text" name="str">
  28.  <input type="submit" name="submit" value="test">
  29. </form>
  30.  

Идея в том, что можно для каждого символа писать в ручную разные хеши и реплейсить при нажатии каждого символа... единственное что не удобно, придется продумать каждую связку из символов, затем организовать для каждой связки уникальный хеш и записать его в массив, что не очень удобно и долго, а так же не красиво. Но в итоге думаю будет работать. А вот в скорости выполнения могу ошибиться. Хотя думаю уникальность связки можно решить и более удобным способом... Только нужно придумать грамотный алгоритм.

П.С: Просьба некоторым лицам не умничать, ибо данная функция не претендует на что то сверхестественное.

А ещё лучше использовать сам "солёный" md5, ибо те кто его писали не глупые люди. Во всяком случае лучше чем какая то самопись
7. soffrick - 21 Июля, 2013 - 17:13:55 - перейти к сообщению
teddy пишет:
П.С: Просьба некоторым лицам не умничать, ибо данная функция не претендует на что то сверхестественное.

лол, а говорил что не обиделся за огород...
умей принимать критику, а не умничать
8. dubasua - 21 Июля, 2013 - 17:19:02 - перейти к сообщению
Идея в том, что бы написать свою функцию мд5, которая бы возвращала такой же результат как и стандартный md5 без никаких replacов.
9. teddy - 21 Июля, 2013 - 17:19:37 - перейти к сообщению
soffrick пишет:
умей принимать критику, а не умничать

Ну и зачем тут твой оффтоп? Я принимаю здравую критику, всегда. Но не люблю когда отвечают на понтах.

П.С: сори за оформление кода, надоело редактировать его ) в редакторе он один а на выходе другой
10. dubasua - 21 Июля, 2013 - 17:19:53 - перейти к сообщению
За основу возьму то что скопипастил, буду смотреть что там не так.
11. soffrick - 21 Июля, 2013 - 17:25:21 - перейти к сообщению
teddy пишет:
Ну и зачем тут

Вот это я хотел у тебя спросить зачем тут твой код, как и в том случае? Чтобы показать вот какой ты велосипедчик?
12. teddy - 21 Июля, 2013 - 17:31:26 - перейти к сообщению
soffrick
Нет, человек спросил как это можно реализовать, я привел пример того как я это себе представляю, не более... Даже подчеркнул, что эта функция не претендент на звание чемпиона мира а лишь набросок из моих представлений.

Когда я что то спрашиваю, мне здесь тоже помогают или пытаются помочь... Вот и я стараюсь помогать чем могу. Не всегда конечно все говорю правильно, хорошо что есть более опытные разработчики и они меня исправляют, что я и беру себе на заметку.

А если вообще пошла про "универсальность" - то такую я не встречал пока что. А недочеты бывают даже у самых опытных... ИМХО но напрасно ты так говоришь, не в тему.. уж не в обиду
13. soffrick - 21 Июля, 2013 - 17:32:43 - перейти к сообщению
тебе где-то здесь недавно говорили - нечего голову морочить если сам не разбираешься. так что от твоей попытки помочь может стать хуже
14. teddy - 21 Июля, 2013 - 17:37:59 - перейти к сообщению
soffrick пишет:
тебе где-то здесь недавно говорили - нечего голову морочить если сам не разбираешься

А давай ты не будешь провоцировать меня говорить не очень хорошие слова? Мы с тобой в личке уже пообщались и вроде нормальная беседа была. Но чего то ты не угомонишься. Тоже самое я видел и про тебя. Ты сам вообще кто, профессионал, Zend? Видел я твои "велосипеды" и то как ты сам ошибался или предоставлял не самые лучшие решения.

Так что не надо мне тут. Если думать с твоей логикой тогда тебе вообще не нужно писать на форуме ибо пишешь очень много не по теме.

Вообщем, не нервируй меня.
15. soffrick - 21 Июля, 2013 - 17:51:01 - перейти к сообщению
teddy пишет:
Мы с тобой в личке уже пообщались и вроде нормальная беседа была

ладно го еще раз личку
teddy пишет:
тебе вообще не нужно писать на форуме ибо пишешь очень много не по теме.

"Если хочешь помочь голодному, дай ему не рыбу, дай удочку"
ну иногда бывает говорю о рыбалке ...

 

Powered by ExBB FM 1.0 RC1