feat(compat): sweep of components against the real core with strict diagnostics

This commit is contained in:
kj
2026-10-05 17:36:08 -03:00
parent 1127272330
commit 0b98b7a26b
19 changed files with 740 additions and 1 deletions
+30
View File
@@ -0,0 +1,30 @@
<?php
// Router de compatibilidad del paquete crypto.
use Libs\Crypto;
use Libs\Nonce;
use Libs\Router;
use Libs\TwoFactorAuthenticator;
Router::get('/compat/crypto/roundtrip', function () {
$plain = 'secreto: 42 ✓';
$hex = Crypto::encryptHex($plain);
$b64 = Crypto::encrypt64($plain);
$ok = Crypto::decryptHex($hex) === $plain
&& Crypto::decrypt64($b64) === $plain
&& Crypto::decrypt(Crypto::encrypt($plain)) === $plain;
echo $ok ? 'CRYPTO_OK' : 'CRYPTO_MISMATCH';
});
Router::get('/compat/crypto/nonce', function () {
$n = Nonce::get('compat');
echo (Nonce::check($n, 'compat') && !Nonce::check($n . 'x', 'compat')) ? 'NONCE_OK' : 'NONCE_FAIL';
});
Router::get('/compat/crypto/2fa', function () {
$tfa = new TwoFactorAuthenticator();
$secret = $tfa->createSecret(16);
$code = $tfa->getCode($secret);
echo ($tfa->verifyCode($secret, $code, 0) && !$tfa->verifyCode($secret, '000000', 0)) ? 'TFA_OK' : 'TFA_FAIL';
});