Public feed #724690

Untitled

public php v1 · immutable
Raw Edit
·published 2007-10-03 20:00 UTC
rendered paste body
<?phpfunction dhash2 ($str){   $orig = $str;      // Myöhempää käyttöö varten :PPP   $kryptisempi = (strlen($orig) > 2)?round(strlen($orig)/3):2;      // Pistetään vähän alkukireyttä peliin :-))   $str = sha1(sha1($str));      // Kirjaimet-taulukko mukaan   $kirjaimet = array("a","b","c","d","e","f");      // Numerot-taulukko mukaan   $numerot = array(1,2,3,4,5,6,8,9);      // Merkit-taulukko mukaan   $merkit = array("!","@","#","$",".","&","?","_","-","^");      // Hinkataan aluilleen hassu pikku taulunen   $taulukko = array();      // Alustetaan muutoslaskuri   $muutoslaskuri = 0;         // Sitte alotetaan pikku kieputtelu edestaas ettei kukaan varmasti keksi mitään järkevää :P   for($i=0;$i<strlen($str);$i++)   {            // Hieman sotkua aluksi --  Käytetään olemassa olevaa hashia vähän mielenkiintoisemmin... 0, $i :)      $valiaikainen = substr(sha1(substr($str,0,$i)),0,4);            // Ei päästetä muutoslaskuria yli viiden      if($muutoslaskuri > 5) $muutoslaskuri = 0;            // Vain joka toiselle kierrokselle paukautetaan muuttelufunktiot      $muutos = ($i%2)?$muutoslaskuri:false;              //Suoritetaanko muuttelua tällä kertaa?      if($muutos == true)      {         // Sitten käytetään edellisen vaiheen tulos hasukan muokkauskoodin lävitse (olettaen, että se suoritetaan tällä kertaa) - leetit mukana ofc :)         $valiaikainen = str_replace($kirjaimet[$muutos],round($i+strlen($orig)%strlen($orig)+0.1337,5),$valiaikainen);      }            //Lisätään sotkut taulukkoon      $taulu[] = $valiaikainen;                  //Lisätään muutoslaskuriin arvoa      $muutoslaskuri++;   }    // Kootaan tallenne-muuttuja ja tyhjätään taulu   $tallenne = implode("",$taulu);   empty($taulu);   $taulu = array();      // Alustetaan muutoslaskuri   $muutoslaskuri = 0;      // Muutetaan tulosta vähän kryptisemmän näköiseksi :D      for($i=0;$i<strlen($tallenne);$i++)   {      if(in_array($tallenne{$i}, $numerot) && $i%$kryptisempi)      {         // Ei päästetä muutoslaskuria yli yhdeksän         if($muutoslaskuri > 9) $muutoslaskuri = 0;         $haku = $muutoslaskuri - $tallenne{$i};         if($haku < 0) $haku * (-1);         $muutettu = $merkit[$haku];         $muutoslaskuri++;      }      else      {         $muutettu = $tallenne{$i};      }   $taulu[] = $muutettu;   }      // Kootaan tallenne-muuttuja ja tyhjätään taulu   $tallenne = implode("",$taulu);   empty($taulu);   $taulu = array();      // Puolet pois :P   for($i=0;$i<strlen($tallenne);$i++)   {      if($i%2) $taulu[] = $tallenne{$i};   }      // Kootaan lopputulos, ettei koko työ hukkaan mennyt o_O   $lopputulos = implode("",$taulu);      // Ulostetaan se maailmalle!   return $lopputulos;}echo dhash2($_GET["h"]);?>