feat: HmacService — HMAC-Signing und Verifikation mit Constant-Time-Vergleich #4
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Motivation
OAuth-Webhook-Validierung, API-Request-Signing und Token-Integrität erfordern HMAC. Ein dedizierter
HmacServicemit Constant-Time-Vergleich verhindert Timing-Angriffe, die bei naivem===-Vergleich möglich sind.API
HmacAlgorithm Enum
Implementierungsdetails
sign(string $payload): string— gibt lowercase Hex-String zurück viahash_hmac()verify(string $payload, string $signature): bool— nutzthash_equals()für Constant-Time-VergleichHmacAlgorithmals Backed Enum mitBackedEnumTrait(konsistent mitAesCipher)Tez\Utils\Crypto\HmacAufgaben
src/Hmac/HmacAlgorithm.phpimplementierensrc/Hmac/HmacService.phpimplementierentests/Hmac/HmacServiceTest.phpHmacAlgorithminAesCipher-Stil dokumentierenAbhängigkeiten