www_archline_hu/cadline/backend/maintenance2/webform/hello.php
LÁZÁR Imre AI Agent c2cf6dab13 feat(cadline): add common_cadline_libraries + maintenance backend
common_cadline_libraries (CRM hardlock/db/users classes; upstream cadline_web/cadcommonlib), maintenance/ (ARCHLine.XP license backend; upstream cadline_web/maintenance), maintenance2/. Vetted live files (byte-truth); upstream repos in PROVENANCE.md. NOTE: could be git submodules — kept as live files for byte-fidelity.

Signed-off-by: LÁZÁR Imre <imre@illusion.hu>
Assisted-by: claude-code@claude-opus-4-8
2026-07-16 11:34:30 +02:00

132 lines
3.4 KiB
PHP

<?php
ini_set('display_errors', 1);
if (!class_exists('crm_hardlock')) require_once("../../common_cadline_libraries/crm_hardlock.class.php");
function generateRandomString($length = 10)
{
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
$privateKey = Webform::GetWebformPrivateKey();
$publicKeyArray = array(
'3TzHxLcqMsHQ$GRQ2Rotnc',
'1BnIg9v1b538GTnA7CTMCv',
'2zAiExEw5VJQRR5b2itYnR',
'3E9YY6E3pgGOGNEv30UFiF',
'2lBv1XQeEHJu5ptjgK5iVm',
'09Xofgf9KGJRzH8SSVUtg3',
'1l5FZ1g932IOa6a9QPCB6d',
'15_XLCyNEXIfcq697yRkBF'
);
$length = 20;
// véletlenszerűen választja ki a public key-t plusz az encode-decode method-ot
$datas = array();
for ($i = 1; $i <= $length; $i++) {
array_push($datas, generateRandomString(200));
}
for ($i = 1; $i <= count($datas); $i++) {
$encoded = '';
$decoded = '';
$publicKeyRand = generateRandomString(10);
$encodeRand = /*rand(1, 2)*/ 2;
$decodeRand = rand(1, 2);
$publicKey = $publicKeyArray[$publicKeyRand];
switch ($encodeRand) {
case 1:
$encoded = Webform::encode($privatekey, $publicKey, $datas[$i]);
break;
case 2:
$encoded = twk_encode($privatekey, $publicKey, $datas[$i]);
break;
default:
// code...
break;
}
$debugString = 'Decode method: ' . $decodeRand . ' || ' . 'Encode method: ' . $encodeRand . ' || Public Key: ' . $publicKeyRand;
$debugString .= ' || Private Key: ' . $privateKey . ' || Data: ' . $datas[$i] . ' || Encoded: ' . $encoded;
crm_hardlock::AddToDebugTable($debugString, 'TWK_test');
switch ($decodeRand) {
case 1:
$decoded = Webform::decode($privatekey, $publicKey, $encoded);
break;
case 2:
$decoded = twk_decode($privatekey, $publicKey, $encoded);
break;
default:
// code...
break;
}
if ($decoded != $datas[$i]) {
echo 'Wrong method';
}
}
echo 'OK';
die();
/* OLD METHOD */
$oldDatas = array();
$startTimeOld = microtime(true);
for ($i = 1; $i <= $length; $i++) {
array_push($oldDatas, generateRandomString(2000));
}
for ($i = 1; $i <= count($oldDatas); $i++) {
$encoded = Webform::encode($privatekey, $publicKey, $oldDatas[$i]);
$decoded = Webform::decode($privatekey, $publicKey, $encoded);
if ($decoded != $oldDatas[$i]) {
echo 'Wrong old method<br/>';
echo 'Input data: ' . $oldDatas[$i] . ' || Decoded data: ' . $decoded;
die();
}
}
echo "Old method end: " . number_format((microtime(true) - $startTimeOld), 4) . " Seconds <br/>";
/* NEW METHOD */
$newDatas = array();
$startTimeNew = microtime(true);
for ($i = 1; $i <= $length; $i++) {
array_push($newDatas, generateRandomString(2000));
}
for ($i = 1; $i <= count($newDatas); $i++) {
$encoded = twk_encode($privatekey, $publicKey, $newDatas[$i]);
$decoded = twk_decode($privatekey, $publicKey, $encoded);
if ($decoded != $newDatas[$i]) {
echo 'Wrong new method<br/>';
echo 'Input data: ' . $newDatas[$i] . ' || Decoded data: ' . $decoded;
die();
}
}
echo "New method end: " . number_format((microtime(true) - $startTimeNew), 4) . " Seconds";