Server, Netzwerk und Web – Lösungen, die zu Ihrem Unternehmen passen.
JSON einfügen, validieren und übersichtlich formatieren – direkt im Browser, ohne Seitenreload.
Rohes JSON einfügen oder einfügen – Objekte und Arrays werden unterstützt.
Das Ergebnis erscheint hier nach der Validierung.
Text und Base64-Strings konvertieren – direkt im Browser, ohne Seitenreload.
Base64-String zum Dekodieren einfügen.
Das dekodierte Ergebnis erscheint hier.
Text zum Kodieren einfügen – UTF-8 wird unterstützt.
Der kodierte String erscheint hier.
Text mit individuellem Schlüssel verschlüsseln oder entschlüsseln – basierend auf dem SKC-Verfahren.
Verschlüsselten v2-String zum Entschlüsseln einfügen.
Das entschlüsselte Ergebnis erscheint hier.
Klartext zum Verschlüsseln einfügen.
Der verschlüsselte String erscheint hier.
function encode(string $string, string $secKey): string
{
$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$key = hash('sha256', $secKey . '|encode_v2', true);
$box = sodium_crypto_secretbox($string, $nonce, $key);
return 'v2.' . rtrim(strtr(base64_encode($nonce . $box), '+/', '-_'), '=');
}
function decode(string $stringVal, string $secKey): string
{
$stringVal = str_replace(' ', '+', $stringVal);
if (str_starts_with($stringVal, 'v2.')) {
$stringVal = substr($stringVal, 3);
}
$raw = base64_decode(strtr($stringVal, '-_', '+/'), true);
if ($raw === false || strlen($raw) < SODIUM_CRYPTO_SECRETBOX_NONCEBYTES + SODIUM_CRYPTO_SECRETBOX_MACBYTES) {
return '';
}
$nonce = substr($raw, 0, SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$box = substr($raw, SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$key = hash('sha256', $secKey . '|encode_v2', true);
$plain = sodium_crypto_secretbox_open($box, $nonce, $key);
return $plain === false ? '' : $plain;
}