Link Search Menu Expand Document

class Pike\Auth\Crypto

Abstraktoi php:n omat krypto-funktiot kuten password_hash() ja sodium_crypto_secretbox().

Synopsis

class Crypto {

    /* Vakiot */
    const SECRETBOX_KEYBYTES = SODIUM_CRYPTO_SECRETBOX_KEYBYTES ; // 32

    /* Metodit */
    public hashPass ( string $plainPass ) : string
    public verifyPass ( string $plainPass, string $hashedPass ) : bool
    public hash ( string $algo, string $data, bool $useRawOutput = false ) : string
    public guidv4 ( void ) : string
    public genRandomToken ( int $bytes = 16 ) : string
    public encrypt ( string $plainStr, string $key ) : string
    public decrypt ( string $encodedStr, string $key ) : string
}

Vakiot

SECRETBOX_KEYBYTES
encrypt|decrypt() avaimen pituus, tavua.

Metodit

hashPass()

Ks. password_hash().

Signature

public function hashPass ( string $plainPass ) : string

Esimerkit

$hashed = $crypto->hashPass('salasana');

verifyPass()

Ks. password_verify().

Signature

public function verifyPass ( string $plainPass, string $hashedPass ) : bool

Esimerkit

$ok = $crypto->verifyPass('salasana', 'hashattu-salasana');

hash()

Ks. hash().

Signature

public function hash ( string $algo, string $data, bool $useRawOutput = false ) : string

Esimerkit

$hashed = $crypto->hash('sha256', 'merkkijono');
$hashed = $crypto->hash('non-existing-algo', 'merkkijono'); // Heittää poikkeuksen

guidv4()

Luo uuden UUID:n.

Signature

public function guidv4 ( void ) : string

Esimerkit

$uuid = $crypto->guidv4();

genRandomToken()

Luo satunnaisen merkkijonon, ks. random_bytes().

Signature

public function genRandomToken ( int $bytes = 16 ) : string

Esimerkit

$randomString = $crypto->genRandomToken(32);

encrypt()

Enkryptoi merkkijonon. Ks. sodium_crypto_secretbox().

strlen($key) tulee olla tasan Crypto::SECRETBOX_KEYBYTES (32).

Signature

public function encrypt ( string $plainStr, string $key ) : string

Esimerkit

$encryptedString = $crypto->encrypt('plain', 'merkkijono');

decrypt()

Verifioi ja dekryptoi merkkijonon. Ks. sodium_crypto_secretbox_open().

strlen($key) tulee olla tasan Crypto::SECRETBOX_KEYBYTES (32).

Signature

public function decrypt ( string $encodedStr, string $key ) : string

Esimerkit

$plainString = $crypto->decrypt('encoded', 'merkkijono');

Copyright © 2019-2021 ut4