PDA

View Full Version : یک هش deterministic دیگه



alinwp
جمعه 21 فروردین 1394, 21:50 عصر
سلام
من یه چند وقتیه علاقه پیدا کردم به رمزنگاری این هم همین الان نوشتم

قابلیت:
*پشتیبانی از حروف فارسی
*حساس به حروف بزرگ و کوچک
*تعداد حروف بین 19 تا 21

<?php$time1 = microtime(true);
function zhash($input){
$_count = 7;
$count = strlen($input)-1;
$a = array();
for($i = 0;$i <= $count;$i++){
$a[$i] = bin2hex($input[$i]);
}
$b = array();
foreach($a as $bk=>$bv){
$int = preg_filter(array('/[a-z]/','/[A-Z]/'), "", $bv);
$b[$bk] = (isset($b[$bk-1])) ? ($bk*$int-$b[$bk-1] * $bk).$bv : ($bk*$int+$bk).$bv;
}
$c = "";
foreach($b as $ck=>$cv){
$c .= round($ck%2).$cv;
}
$p = "";
$f = round(strlen($c) / $_count);
for($i = 1;$i <= $_count;$i++){
$p .= substr($c,(($i*3)-2),3);
}
$p = str_replace(array(" ","-"),"",$p);
if(strlen($p) >= 22){
$p = substr($p,0,21);
}
return $p;
}
echo zhash("ب");
$time2 = microtime(true);
echo '<br><b>Total Execution Time:</b> '.($time2-$time1).'<br> Memory usage:'.memory_get_usage();