<?php
function padding($msg,$nb_chars)
{
$charset = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9');
for($cpt=0;$cpt<$nb_chars;$cpt++)
{
$rand = rand(0,61);
print("!!!!!!!!!!!!!!!!!".$rand);
$msg .= $charset[$rand];
}
return $msg;
}
function mac($msg)
{
$key = "7h3_1337_k3y";
$nonce = "5uc3m01";
$bloc_size = 64;
if(strlen($msg)<$bloc_size)
{
$msg = padding($msg,$bloc_size-strlen($msg));
$mac = $msg;
}
else if(strlen($msg)==$bloc_size)
{
$mac = $msg;
}
else if(strlen($msg)>$bloc_size)
{
$mac = hash_hmac("sha512",$msg.$nonce,$key,true);
}
return crypt($mac,'$6$rounds=5000$OhMyG05h!');
}
$lemessage="UNMESSAGEASSEZLONGPOURTOMBERDANSLECASDUHASHMAPETREGENERERUNHASHAVECLEHASHDECETTEVALEUR";
$mac = mac($lemessage);
$valuemac=hash_hmac("sha512","123456789012345678901234567890123456789012345678901234567890123455uc3m01","7h3_1337_k3y",false);
print("**".strlen($valuemac)."***".$valuemac."*******");
$mac2=eval('return hex2bin("c210825a47af7f8869fb6e11adc9dd3eceb85735c47807badaff958f0af386f5e3f7e24c15034ff6dc71d117697f5853da05bb76ec7086d07f25b53f707d9477");');
$b=mac($mac2);
if($mac==$b)
{
print("OK");
}
else{
print("KO");
}
print($mac);
print($b);
- Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.26, 7.3.0 - 7.3.13, 7.4.0 - 7.4.1
- **128***92517a2eeb972eeeb4e1ad2a1679b7773d13495829d9bb3fa951a3421189d4ad50b114d47391a4fe3c24087acd6b8664f5a654a11b3e969bcc2c26cebffb29fe*******KO$6$rounds=5000$OhMyG05h!$DT38Ja.hhdqpgZtyotaUIq5x.1K0rwfug810bui2p7ghdHk2im0hx00YP/JV/uFWql9DCJwM0HciNbrmk4Ufk.$6$rounds=5000$OhMyG05h!$EVaV8jNGJn8deADd3yFF1E6Tcm1h.WDrVgwAGWzd/HMjLYAmMLNx4aPdShsP0sIpDzfLc.SHHnSoW779gxLSt0
preferences:
129.22 ms | 403 KiB | 196 Q