2
누구든지 다음 함수에서 사용되는 체크섬 알고리즘의 공식/공식 이름을 알고 있습니까?이 체크섬 알고리즘의 이름은 무엇입니까?
function Checksum($number, $encode = true)
{
if ($encode === true)
{
$result = 0;
$number = str_split($number, 1);
foreach ($number as $value)
{
$result = ($result + ord($value) - 48) * 10 % 97;
}
return implode('', $number) . sprintf('%02u', (98 - $result * 10 % 97) % 97);
}
else if ($number === Checksum(substr($number, 0, -2), true))
{
return substr($number, 0, -2);
}
return false;
}
function ifMB($entity, $reference, $amount = 0.00)
{
$stack = 923;
$weights = array(62, 45, 53, 15, 50, 5, 49, 34, 81, 76, 27, 90, 9, 30, 3);
$argument = str_split(sprintf('%03u%04u%08u', $entity, $reference, round($amount * 100)), 1);
foreach ($argument as $key => $value)
{
$stack += $value * $weights[$key];
}
return sprintf('%03u%04u%02u', $entity, $reference, 98 - ($stack % 97));
}
감사합니다!
(일부 근거와 ISO 표준 페이지) 여러 곳에서 사용되며 IBAN과 관련된 것은 없습니다. 내 질문에 다른 예를 추가했습니다. –
OK, 대답을 조금 수정했습니다. – Grandpa