Kategori:Kryptografi-extensioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

Kryptografi-extensioner i PHP

PHP erbjuder flera kryptografiska extensioner som gör det möjligt för utvecklare att implementera säker kryptering, dekryptering, hashning och andra kryptografiska funktioner i sina applikationer. Denna artikel beskriver de mest använda kryptografi-extensionerna i PHP och hur man använder dem.

OpenSSL

OpenSSL-extensionen ger tillgång till OpenSSL-bibliotekets kraftfulla kryptografiska funktioner direkt i PHP. Den stöder en mängd olika krypterings- och hash-algoritmer.

Installation

OpenSSL är vanligtvis installerat som standard i PHP. För att kontrollera om det är aktiverat:

<?php
phpinfo();
?>

Sök efter OpenSSL i outputen.

Användning

Exempel på hur man krypterar och dekrypterar data med OpenSSL:

<?php
$data = "Hemlig data";
$password = "starktLösenord";
$method = "AES-256-CBC";

// Generera en initialiseringsvektor
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($method));

// Kryptera
$encrypted = openssl_encrypt($data, $method, $password, 0, $iv);

// Dekryptera
$decrypted = openssl_decrypt($encrypted, $method, $password, 0, $iv);
?>

Sodium

Sodium-extensionen (libsodium) introducerades i PHP 7.2 och erbjuder moderna och säkra kryptografiska funktioner.

Installation

Sodium är inbyggd i PHP från och med version 7.2. För äldre versioner kan den installeras via PECL.

Användning

Exempel på lösenordshashning med Sodium:

<?php
$password = "starktLösenord";

// Hasha lösenordet
$hash = sodium_crypto_pwhash_str(
    $password,
    SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
    SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE
);

// Verifiera lösenordet
if (sodium_crypto_pwhash_str_verify($hash, $password)) {
    echo "Lösenordet är korrekt.";
} else {
    echo "Felaktigt lösenord.";
}
?>

Hash

Hash-extensionen ger funktioner för generering och jämförelse av hash-värden med algoritmer som MD5, SHA1, SHA256 med flera.

Användning

Generera ett SHA-256-hash:

<?php
$data = "Hemlig data";
$hash = hash('sha256', $data);
?>

Password Hashing API

Introducerat i PHP 5.5, erbjuder det ett enkelt sätt att hantera lösenordshashning.

Användning

<?php
$password = "starktLösenord";

// Hasha lösenordet
$hash = password_hash($password, PASSWORD_DEFAULT);

// Verifiera lösenordet
if (password_verify($password, $hash)) {
    echo "Lösenordet är korrekt.";
} else {
    echo "Felaktigt lösenord.";
}
?>

Mcrypt (avvecklad)

Mcrypt-extensionen avvecklades i PHP 7.1 och bör inte användas i nya projekt. Använd istället OpenSSL eller Sodium.

Referenser

Se även

Sidor i kategorin "Kryptografi-extensioner"

Följande 200 sidor (av totalt 240) finns i denna kategori.

(föregående sida) (nästa sida)

O

(föregående sida) (nästa sida)