- is_numeric: documentation ( source)
- hash: documentation ( source)
- explode: documentation ( source)
<?php
echo solve("123-123-123-123-213-123-123-123");
function solve(string $quest):string{
$randTab=explode("-",$quest);
if(count($randTab)!==8){
throw new \LogicException("not 8 randTab's (".count($randTab).")");
}
foreach($randTab as $i=>$wut){
if(!is_numeric($wut)){
throw new \LogicException("randTab {$i} is not numeric! wtf?");
}
}
$goodSum=$randTab[0]*$randTab[0]*11+$randTab[1]*121+$randTab[2]*$randTab[1]*27+$randTab[3]*23+$randTab[4]*15+$randTab[5]*$randTab[6]*$randTab[7]*11-$randTab[3]*($randTab[5]+$randTab[4]);
$goodSum%=100000000;
$buf2=hash("md5",(string)$goodSum,false);
return $buf2;
}