Вход Регистрация
Файл: vendor/laravel/serializable-closure/src/Signers/Hmac.php
Строк: 37
<?php

namespace LaravelSerializableClosureSigners;

use 
LaravelSerializableClosureContractsSigner;

class 
Hmac implements Signer
{
    
/**
     * The secret key.
     *
     * @var string
     */
    
protected $secret;

    
/**
     * Creates a new signer instance.
     *
     * @param  string  $secret
     * @return void
     */
    
public function __construct($secret)
    {
        
$this->secret $secret;
    }

    
/**
     * Sign the given serializable.
     *
     * @param  string  $serialized
     * @return array
     */
    
public function sign($serialized)
    {
        return [
            
'serializable' => $serialized,
            
'hash' => base64_encode(hash_hmac('sha256'$serialized$this->secrettrue)),
        ];
    }

    
/**
     * Verify the given signature.
     *
     * @param  array  $signature
     * @return bool
     */
    
public function verify($signature)
    {
        return 
hash_equals(base64_encode(
            
hash_hmac('sha256'$signature['serializable'], $this->secrettrue)
        ), 
$signature['hash']);
    }
}
Онлайн: 1
Реклама