ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

MacroHash - новый алгоритм хэширования :)
  #1  
Старый 02.11.2007, 00:25
Аватар для Macro
Macro
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме:
1845062

Репутация: 1079


По умолчанию MacroHash - новый алгоритм хэширования :)

Может кому-нибудь пригодится как альтернатива md5, брутеры для него сделают еще нескоро , а по внешнему виду идеально похож на md5. Писал чисто для тренировки мозгов и освоения php.
- поддерживает только английские пароли. Скоро устраню этот недостаток.

PHP код:
<?php
if(!isset($_POST["pass"])){$a="example_password";}else{$a=$_POST["pass"];}
$body="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"><html><HEAD><META HTTP-EQUIV=Content-Type CONTENT=\"text/html; charset=windows-1251\"><title>MacroHash Algorithm</title></head><br><br><font size='5' color='green'>MacroHash Algorithm</font><br><br><br><center><b>Type below your password <u>without</u> spaces:<br></b><br><form method='POST' action=''><input type='text' name='pass' value='$a'><input type='submit'></form></center>";
function 
bi2he($s)
{
switch (
$s){ 
case 
'0':
$t='30';break;
case 
'1':
$t='31';break;
case 
'2':
$t='32';break;
case 
'3':
$t='33';break;
case 
'4':
$t='34';break;
case 
'5':
$t='35';break;
case 
'6':
$t='36';break;
case 
'7':
$t='37';break;
case 
'8':
$t='38';break;
case 
'9':
$t='39';break;
case 
'a':
$t='61';break;
case 
'b':
$t='62';break;
case 
'c':
$t='63';break;
case 
'd':
$t='64';break;
case 
'e':
$t='65';break;
case 
'f':
$t='66';break;
case 
'g':
$t='67';break;
case 
'h':
$t='68';
break;
case 
'i':
$t='69';
break;
case 
'j':
$t='6a';
break;
case 
'k':
$t='6b';break;
case 
'l':
$t='6c';break;
case 
'm':
$t='6d';break;
case 
'n':
$t='6e';break;
case 
'o':
$t='6f';break;
case 
'p':
$t='70';break;
case 
'q':
$t='71';break;
case 
'r':
$t='72';break;
case 
's':
$t='73';break;
case 
't':
$t='74';break;
case 
'u':
$t='75';break;
case 
'v':
$t='76';break;
case 
'w':
$t='77';break;
case 
'x':
$t='78';break;
case 
'y':
$t='79';break;
case 
'z':
$t='7a';break;
case 
'A':
$t='41';break;
case 
'B':
$t='42';break;
case 
'C':
$t='43';break;
case 
'D':
$t='44';break;
case 
'E':
$t='45';break;
case 
'F':
$t='46';break;
case 
'G':
$t='47';break;
case 
'H':
$t='48';break;
case 
'I':
$t='49';break;
case 
'J':
$t='4a';break;
case 
'K':
$t='4b';break;
case 
'L':
$t='4c';break;
case 
'M':
$t='4d';break;
case 
'N':
$t='4e';break;
case 
'O':
$t='4f';break;
case 
'P':
$t='50';break;
case 
'Q':
$t='51';break;
case 
'R':
$t='52';break;
case 
'S':
$t='53';break;
case 
'T':
$t='54';break;
case 
'U':
$t='55';break;
case 
'V':
$t='56';break;
case 
'W':
$t='57';break;
case 
'X':
$t='58';break;
case 
'Y':
$t='59';break;
case 
'Z':
$t='5a';break;
case 
'!':
$t='21';break;
case 
'@':
$t='40';break;
case 
'#':
$t='23';break;
case 
'$':
$t='24';break;
case 
'%':
$t='25';break;
case 
'^':
$t='5e';break;
case 
'&':
$t='26';break;
case 
'*':
$t='2a';break;
case 
'(':
$t='28';break;
case 
')':
$t='29';break;
case 
'_':
$t='5f';break;
case 
'-':
$t='2d';break;
case 
'=':
$t='3d';break;
case 
'+':
$t='2b';break;
case 
'[':
$t='5b';break;
case 
']':
$t='5d';break;
case 
'{':
$t='7b';break;
case 
'}':
$t='7d';break;
case 
'^':
$t='5e';break;
case 
',':
$t='2c';break;
case 
'.':
$t='2e';break;
case 
'<':
$t='3c';break;
case 
'>':
$t='3e';break;
case 
':':
$t='3a';break;
case 
'|':
$t='7c';break;
case 
'/':
$t='2f';break;
default: 
$t='00';}
return 
$t;}

function 
b2h($bin)
{
$hex='';
for(
$i=0$i<=strlen($bin)-1$i++)
{
$hex.=bi2he(substr($bin,$i,1));}
return 
$hex;
}

function 
summa($in)
{
$sm=0;
for(
$i=0$i<=strlen($in-2); $i+=2)
{
$sm=$sm+hexdec(substr($in,$i,2));
}

$asdf2=explode(".",$sm/3.1415927);

return 
$asdf2[1];
}

function 
hash_1($string)

{
$b=b2h($string);
$str '';
$c='';


for(
$i=0$i<=strlen($b)-2$i+=2)
{
$x=hexdec(substr($b,$i,2));
$c.=dechex($x+intval(strlen($string)*$x)+summa($b)/$x);
}


if (
strlen($c)<=32
{
$d='';

for(
$i=0strlen($d)<=32$i+=2)
{
$d.=dechex(intval((hexdec(substr($c,$i,2))+strlen($d))*summa($b)*$x));
}
$str=substr($d,strlen($d)-32,32);
}

elseif(
strlen($c)>32)
{
$w='';
$c=substr($c,strlen($c)-5);
for(
$i=0strlen($w)<=32$i+=2)
{
$w.=dechex(intval((hexdec(substr($c,$i,2))+strlen($w))*summa($b)*$x));
}
$str=substr($w,0,32);
}
return 
$str;
}

if (empty(
$_POST["pass"])) 
{

print(
"<title>MacroHash Algorithm</title>".$body);

elseif(isset(
$_POST["pass"])) 
{
$a=$_POST["pass"];
$a1="";

print(
$body."<p><b>Password</b>: ".$a."<br><b>Hash:</b> ".hash_1($a)."</p>");
}
print(
"</html>");
?>

Последний раз редактировалось Macro; 10.11.2007 в 14:34.. Причина: Добавил скрипт
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что за алгоритм хэширования? madnet PHP, PERL, MySQL, JavaScript 5 24.07.2007 14:26
Новый год, новый алгоритм поиска Google [2-D] Мировые новости 6 04.01.2007 03:58
С Наступающим НГ Всех и Итоги 2006 SK | Heaton Болталка 44 30.12.2006 17:49
алгоритм хэширования в YaBB SE злюка Расшифровка хешей 3 14.11.2006 13:03
Новый ДИзайн Smoke Болталка 11 23.11.2004 13:14



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ