Kullanıcı Tanımlı MD5 Şifreleme

PHP
45 lines
<?php
define("ktMD5_CODE","GuvenliKodBuraya"); //Your eMD5 server-side code
function ktMD5($metin){
return ktMD5::hash($metin);
}
class ktMD5 {
static function ikili($metin){
$cikti=null;
$i=0;while($i < strlen($metin)){
$cikti .= "+". str_pad(decbin(ord(substr($metin,$i++,1))), 8, "0", STR_PAD_LEFT);
}
return $cikti;
}
static function dogrula($metin1,$metin2){
if($metin1 != "+" && $metin2 != "+"){
if($metin1 xor $metin2){
return "1";
}else{
return "0";
}
}else{
return "+";
}
}
static function hash($metin){
if(!defined("ktMD5_CODE")){exit("<b>hata: </b> ktMD5_code tanımlanmadı");}
$metin = trim($metin);$s = md5(ktMD5_CODE);$metin = md5($metin);
$i=0;while($i != 32){$dizi_metin[] = substr($metin,$i,8);$i=$i+8;}
$i=0;while($i != 32){$dizi_s[] = substr($s,$i,8);$i=$i+8;}
$metin1 = ktMD5::ikili($dizi_s[0].$dizi_metin[1].$dizi_s[2].$dizi_metin[3]);
$metin2 = ktMD5::ikili($dizi_metin[0].$dizi_s[1].$dizi_metin[2].$dizi_s[3]);
$kombin=null;
$e=0;
while($e < strlen($metin1)){
$kombin .= ktMD5::dogrula(substr($metin1,$e,1),substr($metin2,$e,1));
$e++;
}
$cikti = md5($kombin);
return $cikti;
}
}
echo MD5("1234568");
echo "<br>";
echo ktMD5("1234568");
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
fe743d8d97aa7dfc6c93ccdc2e749513
e32f8d4f9b769346a74fe8d1a82c5e56
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX