Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
[Web-извращенцам] хеширование |

29.02.2008, 05:16
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
[Web-извращенцам] хеширование
В общем темка довольно таки интересная.
Решил в своём движке сделать такой метод хеширования пасов, чтобы даже самый умный ][, имеющий гигабайты словарей до старости брутил хеш))
Предполагается плюс ко всему солько. да и собственно у кого какие мысли по выделению соли? тоже интерсно было бы узнать)
В общем кто на что способен, выкладывайте 
Маленький пример:
PHP код:
function super_hash($pass)
{
$pass = hash_hmac('md5', md5(base64_encode(strrev($pass))), 'bugaga');
return $pass;
}
echo super_hash(12345);
|
|
|

29.02.2008, 06:12
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме: 3986705
Репутация:
1403
|
|
Тема интересна, если не использовать стандартные алгоритмы типа md5 и base64
|
|
|

29.02.2008, 06:51
|
|
Участник форума
Регистрация: 24.01.2007
Сообщений: 129
Провел на форуме: 932592
Репутация:
145
|
|
$pwd=substr(sha1(md5($password)), 0, 10);
анбрутабл, никаких солей, места в бд занимает немного =)
|
|
|

29.02.2008, 07:06
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
Бред....
Способов куча
|
|
|

29.02.2008, 07:09
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
Сообщение от Isis
Бред....
Способов куча
дргого ответа от тебя ожидать было бы глупо)
раз куча способов - выкладывай, буду только рад 
|
|
|

29.02.2008, 10:22
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме: 1845062
Репутация:
1079
|
|
PHP код:
<?
function macrohash($string)
{
$b=bin2hex($string);
$str = '';
$c='';
for($i=0; $i<=strlen($b)-2; $i+=2)
{
$sm=0;
for($j=0; $j<=strlen($b-2); $j+=2)
{
$sm=$sm+hexdec(substr($b,$j,2));
}
$asdf2=explode(".",$sm/3.1415927);
$summab=$asdf2[1];
$x=hexdec(substr($b,$i,2));
$c.=dechex($x+intval(strlen($string)*$x)+$summab/$x);
}
if (strlen($c)<=32)
{
$d='';
for($i=0; strlen($d)<=32; $i+=2)
{
$sm=0;
for($j=0; $j<=strlen($b-2); $j+=2)
{
$sm=$sm+hexdec(substr($b,$j,2));
}
$asdf2=explode(".",$sm/3.1415927);
$summab=$asdf2[1];
$d.=dechex(intval((hexdec(substr($c,$i,2))+strlen($d))*$summab*$x));
}
$str=substr($d,strlen($d)-32,32);
}
elseif(strlen($c)>32)
{
$w='';
$c=substr($c,strlen($c)-5);
for($i=0; strlen($w)<=32; $i+=2)
{
$sm=0;
for($j=0; $j<=strlen($b-2); $j+=2)
{
$sm=$sm+hexdec(substr($b,$j,2));
}
$asdf2=explode(".",$sm/3.1415927);
$summab=$asdf2[1];
$w.=dechex(intval((hexdec(substr($c,$i,2))+strlen($w))*$summab*$x));
}
$str=substr($w,0,32);
}
return $str;
}
?>
Моя функция хэширования без использования стандартных функций
|
|
|

29.02.2008, 13:50
|
|
Познающий
Регистрация: 01.01.2008
Сообщений: 50
Провел на форуме: 187422
Репутация:
71
|
|
Обычно использую просто двойной sha1 с салтом и "ключем", например так - ключ хранится в исходниках а не в базе, в роли салта - юзернейм :
PHP код:
$key = "SomeReeeeeeeeealllyfriggginloooooooongstrrrrrrrrrrrrrinnnnnnng123432432432";
$hash = sha1($key.sha1($pass).$username)
А вообще соглашусь с Isis, способов безконечно много даже используя комбинации классических алгоритмов хеширования. Пойдет любой, главное чтобы использовались салты и алгоритм небыл включен в известные брутеры.
|
|
|

29.02.2008, 14:10
|
|
AMA - Level 2
Регистрация: 10.06.2006
Сообщений: 1,113
Провел на форуме: 17668503
Репутация:
5826
|
|
Сообщение от Hawkins
$pwd=substr(sha1(md5($password)), 0, 10);
анбрутабл, никаких солей, места в бд занимает немного =)
Бред, почему не брутабельно?
PHP код:
<?php
$hash = '';
$file = file('slovar.txt');
for($i=0;$i<count($file);$i++)
{
if($hash == substr(sha1(md5(trim($file[$i]))), 0, 10))
{
echo('pass: '.$file[$i]);
break;
}
}
?>
Да кстати алгоритм очень тупой, я уже раньше писал что в теории обрубание хеша напротив только увеличивает колизию, т.к. одному такому урезаному хешу будут соответсвовать n-ое число не урезанных хешей, т.е. к примеру, если для некоторой функции хеш от 1 = aaabb, а от 111 = aaacc, то получится что урезаному хешу aaa будет соответствовать и 1 и 111.
Или говоря про небрутабельность ты имелл ввиду скорость? Если да, то не думаю что будет медлнее чем тот же мд5 юникс.
Последний раз редактировалось Grey; 29.02.2008 в 14:16..
|
|
|

29.02.2008, 14:13
|
|
Постоянный
Регистрация: 18.09.2006
Сообщений: 867
Провел на форуме: 2805813
Репутация:
1396
|
|
сгласен с тем что это бессмысленно.
на данный момент существует порядком различных типов хеширования.тот же двойной sha1 с салтом при норм.пароле - будешь расшифровывать пол жизни.
|
|
|

29.02.2008, 14:19
|
|
♠ ♦ ♣ ♥
Регистрация: 18.05.2006
Сообщений: 1,828
Провел на форуме: 8042357
Репутация:
3742
|
|
Сообщение от Noiro
Обычно использую просто двойной sha1 с салтом и "ключем", например так - ключ хранится в исходниках а не в базе, в роли салта - юзернейм :
PHP код:
$key = "SomeReeeeeeeeealllyfriggginloooooooongstrrrrrrrrrrrrrinnnnnnng123432432432";
$hash = sha1($key.sha1($pass).$username)
А вообще соглашусь с Isis, способов безконечно много даже используя комбинации классических алгоритмов хеширования. Пойдет любой, главное чтобы использовались салты и алгоритм небыл включен в известные брутеры.
с тех пор как паспро стал модульным, это не актуально
__________________
Привет! Меня зовут Джордж, и я хотел бы рассказать вам про реинкарнацию (ц) 2x2
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
хеширование в Smf
|
F_taker |
Расшифровка хешей |
3 |
19.01.2006 22:54 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|