Fehlende ALTCHA-Bibliotheksdateien ergaenzt
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace AltchaOrg\Altcha\V1\Hasher;
|
||||
|
||||
class Hasher implements HasherInterface
|
||||
{
|
||||
public function hash(Algorithm $algorithm, string $data): string
|
||||
{
|
||||
return match ($algorithm) {
|
||||
Algorithm::SHA1 => sha1($data, true),
|
||||
Algorithm::SHA256 => hash('sha256', $data, true),
|
||||
Algorithm::SHA512 => hash('sha512', $data, true),
|
||||
};
|
||||
}
|
||||
|
||||
public function hashHex(Algorithm $algorithm, string $data): string
|
||||
{
|
||||
return bin2hex($this->hash($algorithm, $data));
|
||||
}
|
||||
|
||||
public function hashHmac(Algorithm $algorithm, string $data, string $hmacKey): string
|
||||
{
|
||||
return match ($algorithm) {
|
||||
Algorithm::SHA1 => hash_hmac('sha1', $data, $hmacKey, true),
|
||||
Algorithm::SHA256 => hash_hmac('sha256', $data, $hmacKey, true),
|
||||
Algorithm::SHA512 => hash_hmac('sha512', $data, $hmacKey, true),
|
||||
};
|
||||
}
|
||||
|
||||
public function hashHmacHex(Algorithm $algorithm, string $data, string $hmacKey): string
|
||||
{
|
||||
return bin2hex($this->hashHmac($algorithm, $data, $hmacKey));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user