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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: md5 js [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
ПТО
Отправлено: 11 Августа, 2012 - 19:43:54
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




Вопрос: а "соль" поддерживается в js md5, я что-то не понял... Скажем в php есть соль, через запятую дописываешь:
PHP:
скопировать код в буфер обмена
  1. $password = Hash::create('md5', $_POST['password'], HASH_KEY);
 
 Top
Tox
Отправлено: 11 Августа, 2012 - 19:44:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011  
Откуда: Россия


Помог: 0 раз(а)




Почему hash не отправляется?
CODE (html):
скопировать код в буфер обмена
  1. <script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/md5.js"></script>
  2. <script>
  3. function myF(f)
  4. {
  5. var pass = document.getElementById("ohomg");
  6.  var hash = CryptoJS.MD5(pass.value);
  7. f.submit();
  8. }
  9.  
  10. </script>
  11.  
  12.  
  13. <form method="post" action="test.php" name="sub" onSubmit="return false">
  14. <input id="ohomg" name="Mypass" required="required" type="text" size="20">
  15. <input type="button" value="Send" onClick="myF(this.form)">
  16. </form>

В гугле пишут, что надо в скрытом поле, вы говорите, что не надо. Так как надо-то?

(Отредактировано автором: 11 Августа, 2012 - 19:45:20)



-----
In Console We Trust. Code hard. Or die.
 
 Top
armancho7777777 Супермодератор
Отправлено: 11 Августа, 2012 - 19:48:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Палагаю так:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function myF(f)
  3. {
  4.     var pass = document.getElementById("ohomg");
  5.     pass.value = CryptoJS.MD5(pass.value);
  6.     f.submit();
  7. }
  8.  
 
 Top
ПТО
Отправлено: 11 Августа, 2012 - 19:50:01
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




Tox пишет:
Почему hash не отправляется?


jquery $.post тебе в помощь
Например, так:
CODE (javascript):
скопировать код в буфер обмена
  1. .post('download', {'rsnum' : rsnum}, function(){
  2.  
  3. }, 'json');
 
 Top
Tox
Отправлено: 11 Августа, 2012 - 19:57:58
Post Id



Посетитель


Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011  
Откуда: Россия


Помог: 0 раз(а)




ПТО, не, jquery для меня пока тяжко.
armancho7777777, спасибо, все работает Улыбка


-----
In Console We Trust. Code hard. Or die.
 
 Top
ПТО
Отправлено: 11 Августа, 2012 - 20:04:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




ПТО пишет:
Вопрос: а "соль" поддерживается в js md5, я что-то не понял
???
Вообще, результат одинаковый при хешировании в php и в js ? Интересно

(Отредактировано автором: 11 Августа, 2012 - 20:09:40)

 
 Top
Tox
Отправлено: 11 Августа, 2012 - 20:08:52
Post Id



Посетитель


Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011  
Откуда: Россия


Помог: 0 раз(а)




ПТО, я не знаю, но лучше соль присоединять уже после того, как данные на сервер отправили.


-----
In Console We Trust. Code hard. Or die.
 
 Top
armancho7777777 Супермодератор
Отправлено: 11 Августа, 2012 - 20:09:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




ПТО, что из себя представляет соль, как по Вашему ?)
 
 Top
ПТО
Отправлено: 11 Августа, 2012 - 20:10:00
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




armancho7777777 пишет:
ПТО, что из себя представляет соль, как по Вашему ?)
Возможно - это текст присоединяемый к основному и идущий в скрипт хэширования

(Отредактировано автором: 11 Августа, 2012 - 20:13:30)

 
 Top
armancho7777777 Супермодератор
Отправлено: 11 Августа, 2012 - 20:11:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)





Вот и вся соль.
 
 Top
Tox
Отправлено: 11 Августа, 2012 - 20:14:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011  
Откуда: Россия


Помог: 0 раз(а)




ПТО, при регистрации юзера генерируем рандомную строку, это соль. Потом присланный пароль от юзера проверяем, далее

А после этого записываем в бд pass и salt. При авторизации используем уникальную соль для каждого юзера.
В чем профит - если бд угонят, то пассы юзеров будет достаточно проблематично расхэшировать, в отличие от того, если бы мы не использовали соль.


-----
In Console We Trust. Code hard. Or die.
 
 Top
armancho7777777 Супермодератор
Отправлено: 11 Августа, 2012 - 20:18:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Tox пишет:
генерируем рандомную строку

И как Вы потом определите кому принадлежит определённая "соль" ?
 
 Top
Tox
Отправлено: 11 Августа, 2012 - 20:20:01
Post Id



Посетитель


Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011  
Откуда: Россия


Помог: 0 раз(а)




armancho7777777 так мы же ее при регистрации юзера в бд пишем. У каждого юзера своя соль


-----
In Console We Trust. Code hard. Or die.
 
 Top
Hawkmoth
Отправлено: 11 Августа, 2012 - 20:21:25
Post Id


Посетитель


Покинул форум
Сообщений всего: 329
Дата рег-ции: Янв. 2012  


Помог: 6 раз(а)




Tox пишет:
При авторизации используем уникальную соль для каждого юзера

В этом случае, правда, нам придется хранить каждую соль в базе рядом с паролем юзера.
Обычно придумывают общую соль для одного проекта и жестко вписывают ее в скрипт.
Ну, или совсем параноидальный вариант - использовать и общую, и уникальную для каждого юзера соль и хешировать пароль сложной функцией типа

PHP:
скопировать код в буфер обмена
  1. $general_salt='$#&^&#gh';
  2. $unique_salt=time().$_SERVER['REMOTE_ADDR'].rand(0,999999);
  3. $pass=sha1(md5($pass.$unique_salt).$general_salt);

(Отредактировано автором: 11 Августа, 2012 - 20:22:48)

 
 Top
armancho7777777 Супермодератор
Отправлено: 11 Августа, 2012 - 20:21:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Tox пишет:
так мы же ее при регистрации юзера в бд пишем

А как же ? )
Tox пишет:
если бд угонят

(Добавление)
Hawkmoth пишет:
Обычно придумывают общую соль для одного проекта и жестко вписывают ее в скрипт.

Вот и я о том же )

(Отредактировано автором: 11 Августа, 2012 - 20:22:16)

 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB