This change adds the PHP attribute SensitiveParameter to the secret
holding variables.
See: https://www.php.net/manual/en/class.sensitiveparameter
This feature is only available in PHP 8.2, so the minimum php version
required has been updated.
Github Actions now use PHP 8.2 and 8.3 for the tests.
The checkout action has been updated to v4, too.
Fix issue #118
* Added a bunch basic of unittests for the RNG's
* QRicketProvider and QRServerProvider now throw on invalid MIME-types
* TwoFactorAuth now first tries to use CSRNGProvider before any of the other RNG providers
* Exceptions thrown by TwoFactorAuth are now of type TwoFactorAuthException
* createSecret now has extra argument $requirecryptosecure which is used to force cryptographically secure secrets
* HashRNGProvider now returns string instead of "byte array"
* HashRNGProvider is now initialized with two random values (for the heck of it...)