PluginProbe
Defender Security – Malware Scanner, Login Security & Firewall / 6.1.0
Defender Security – Malware Scanner, Login Security & Firewall v6.1.0
6.3.0 6.2.3 6.2.4 6.2.0 6.2.1 6.2.2 6.1.0 5.3.1 5.4.0 5.4.1 5.5.0 5.5.1 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.7.2 5.8.0 5.8.1 5.9.0 6.0.0 6.0.1 3.0.1 3.1.0 All 141 releases
defender-security / lib / packages / Laravel / SerializableClosure / Signers / Hmac.php

Hmac.php in Defender Security – Malware Scanner, Login Security & Firewall 6.1.0, at lib/packages/Laravel/SerializableClosure/Signers/Hmac.php

54 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPMU_DEV\Defender\Vendor\Laravel\SerializableClosure\Signers;
4
5 use WPMU_DEV\Defender\Vendor\Laravel\SerializableClosure\Contracts\Signer;
6
7 class Hmac implements Signer
8 {
9 /**
10 * The secret key.
11 *
12 * @var string
13 */
14 protected $secret;
15
16 /**
17 * Creates a new signer instance.
18 *
19 * @param string $secret
20 * @return void
21 */
22 public function __construct($secret)
23 {
24 $this->secret = $secret;
25 }
26
27 /**
28 * Sign the given serializable.
29 *
30 * @param string $serialized
31 * @return array
32 */
33 public function sign($serialized)
34 {
35 return [
36 'serializable' => $serialized,
37 'hash' => base64_encode(hash_hmac('sha256', $serialized, $this->secret, true)),
38 ];
39 }
40
41 /**
42 * Verify the given signature.
43 *
44 * @param array $signature
45 * @return bool
46 */
47 public function verify($signature)
48 {
49 return hash_equals(base64_encode(
50 hash_hmac('sha256', $signature['serializable'], $this->secret, true)
51 ), $signature['hash']);
52 }
53 }
54