User:
Title: cashkorkenhax
Content:
<?php
echo "<pre>";
global $charset;
$charset = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
function charValue($char)
{
global $charset;
return stripos($charset, $char);
}
$cashkorken = [
'KPH-ZXE7-33a',
'ACM-TWJH-RZa',
'JH4-FNH4-GNa',
'AXY-A7PC-DGa',
'EE9-D4YN-BAa',
'NTH-HBPF-DGa',
// 'INV-ALID-ATE',
// 'INV-ALID-ATE',
// 'NHP-WVXN-U6Y',
// 'AAB-AAAC-AAD',
];
$invalid = [
'NHP-WVXN-U6Y',
];
function cleankorken($korken)
{
return str_replace('-', '', strtoupper($korken));
}
function korkensum($kork)
{
$sum = 0;
$korken = cleankorken($kork);
$len = strlen($korken) - 1;
for ($i = 0; $i < $len; $i++)
{
$sum += charValue($korken[$i]);
}
$checksum = charValue($korken[$len]);
return sprintf("%s: Sum: %s; Checksum: %s; CheckChar: %s \n", $kork, $sum, $checksum, $korken[$len]);
}
function randomChar()
{
global $charset;
$min = 0;
$max = strlen($charset) - 1;
return $charset[rand($min, $max)];
}
function korkenChar($i)
{
global $charset;
return $charset[$i];
}
function checksumChar($korken)
{
$sum = 0;
$korken = cleankorken($korken);
$len = strlen($korken) - 1;
for ($i = 0; $i < $len; $i++)
{
$sum += charValue($korken[$i]);
}
return korkenChar($sum % 36);
}
function generateCashKorken()
{
global $charset;
$korken = '';
$korken .= randomChar();
$korken .= randomChar();
$korken .= randomChar();
$korken .= '-';
$korken .= randomChar();
$korken .= randomChar();
$korken .= randomChar();
$korken .= randomChar();
$korken .= '-';
$korken .= randomChar();
$korken .= randomChar();
$korken .= checksumChar($korken);
return "$korken\n";
}
function sumOver($korken, $start, $end)
{
$korken = cleankorken($korken);
$sum = 0;
for ($i = $start; $i < $end; $i++)
{
$sum += charValue($korken[$i]);
}
return $sum;
}
function sumFirstBlock($korken)
{
return sumOver($korken, 0, 3);
}
function sumSecondBlock($korken)
{
return sumOver($korken, 3, 7);
}
function sumThirdBlock($korken)
{
return sumOver($korken, 7, 10);
}
function sumLastTwo($korken)
{
return sumOver($korken, 7, 9);
}
foreach ($cashkorken as $korken)
{
echo korkensum($korken);
}
foreach ($cashkorken as $korken)
{
printf("%s: SUM1: %3s %3s %3s; SUM2: %3s %3s %3s %3s; SUM3: %3s %3s\n",
$korken,
sumOver($korken, 0, 1),
sumOver($korken, 0, 2),
sumOver($korken, 0, 3),
sumOver($korken, 3, 4),
sumOver($korken, 3, 5),
sumOver($korken, 3, 6),
sumOver($korken, 3, 7),
sumOver($korken, 7, 8),
sumOver($korken, 7, 9),
);
}
foreach ($cashkorken as $korken)
{
printf("%s: SUMMIES: %3s %3s %3s %3s %3s %3s %3s %3s %3s\n",
$korken,
sumOver($korken, 0, 1),
sumOver($korken, 0, 2),
sumOver($korken, 0, 3),
sumOver($korken, 0, 4),
sumOver($korken, 0, 5),
sumOver($korken, 0, 6),
sumOver($korken, 0, 7),
sumOver($korken, 0, 8),
sumOver($korken, 0, 9),
);
}
echo generateCashKorken();
Edit |
Back