Kategori:Kryptografi-extensioner: Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '= 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...') |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 11: | Rad 11: | ||
OpenSSL är vanligtvis installerat som standard i PHP. För att kontrollera om det är aktiverat: | OpenSSL är vanligtvis installerat som standard i PHP. För att kontrollera om det är aktiverat: | ||
<pre> | |||
<?php | <?php | ||
phpinfo(); | phpinfo(); | ||
?> | ?> | ||
</pre> | |||
Sök efter ''OpenSSL'' i outputen. | Sök efter ''OpenSSL'' i outputen. | ||
Rad 23: | Rad 23: | ||
Exempel på hur man krypterar och dekrypterar data med OpenSSL: | Exempel på hur man krypterar och dekrypterar data med OpenSSL: | ||
<pre> | |||
<?php | <?php | ||
$data = "Hemlig data"; | $data = "Hemlig data"; | ||
Rad 38: | Rad 38: | ||
$decrypted = openssl_decrypt($encrypted, $method, $password, 0, $iv); | $decrypted = openssl_decrypt($encrypted, $method, $password, 0, $iv); | ||
?> | ?> | ||
</pre> | |||
== Sodium == | == Sodium == | ||
Rad 52: | Rad 52: | ||
Exempel på lösenordshashning med Sodium: | Exempel på lösenordshashning med Sodium: | ||
<pre> | |||
<?php | <?php | ||
$password = "starktLösenord"; | $password = "starktLösenord"; | ||
Rad 70: | Rad 70: | ||
} | } | ||
?> | ?> | ||
</pre> | |||
== Hash == | == Hash == | ||
Rad 80: | Rad 80: | ||
Generera ett SHA-256-hash: | Generera ett SHA-256-hash: | ||
<pre> | |||
<?php | <?php | ||
$data = "Hemlig data"; | $data = "Hemlig data"; | ||
$hash = hash('sha256', $data); | $hash = hash('sha256', $data); | ||
?> | ?> | ||
</pre> | |||
== Password Hashing API == | == Password Hashing API == | ||
Rad 93: | Rad 93: | ||
=== Användning === | === Användning === | ||
<pre> | |||
<?php | <?php | ||
$password = "starktLösenord"; | $password = "starktLösenord"; | ||
Rad 107: | Rad 107: | ||
} | } | ||
?> | ?> | ||
</pre> | |||
== Mcrypt (avvecklad) == | == Mcrypt (avvecklad) == |
Nuvarande version från 26 oktober 2024 kl. 20.42
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
- [PHP Officiell Dokumentation](https://www.php.net/manual/sv/)
- [OpenSSL](https://www.openssl.org/)
- [Libsodium Dokumentation](https://doc.libsodium.org/)
- [PHP Password Hashing](https://www.php.net/manual/sv/book.password.php)
Se även
- [Säker kodning i PHP](https://www.php.net/manual/sv/security.php)
- [Cryptography Best Practices](https://www.owasp.org/index.php/Cryptographic_Storage_Cheat_Sheet)
Sidor i kategorin "Kryptografi-extensioner"
Följande 200 sidor (av totalt 238) finns i denna kategori.
(föregående sida) (nästa sida)E
H
M
O
- openssl cipher iv length()
- openssl cipher key length()
- openssl cms decrypt()
- openssl cms encrypt()
- openssl cms read()
- openssl cms sign()
- openssl cms verify()
- openssl csr export to file()
- openssl csr export()
- openssl csr get public key()
- openssl csr get subject()
- openssl csr new()
- openssl csr sign()
- openssl decrypt()
- openssl dh compute key()
- openssl digest()
- openssl encrypt()
- openssl error string()
- openssl free key()
- openssl get cert locations()
- openssl get cipher methods()
- openssl get curve names()
- openssl get md methods()
- openssl get privatekey()
- openssl get publickey()
- openssl open()
- openssl pbkdf2()
- openssl pkcs12 export to file()
- openssl pkcs12 export()
- openssl pkcs12 read()
- openssl pkcs7 decrypt()
- openssl pkcs7 encrypt()
- openssl pkcs7 read()
- openssl pkcs7 sign()
- openssl pkcs7 verify()
- openssl pkey derive()
- openssl pkey export to file()
- openssl pkey export()
- openssl pkey free()
- openssl pkey get details()
- openssl pkey get private()
- openssl pkey get public()
- openssl pkey new()
- openssl private decrypt()
- openssl private encrypt()
- openssl public decrypt()
- openssl public encrypt()
- openssl random pseudo bytes()
- openssl seal()
- openssl sign()
- openssl spki export challenge()
- openssl spki export()
- openssl spki new()
- openssl spki verify()
- openssl verify()
- openssl x509 check private key()
- openssl x509 checkpurpose()
- openssl x509 export to file()
- openssl x509 export()
- openssl x509 fingerprint()
- openssl x509 free()
- openssl x509 parse()
- openssl x509 read()
- openssl x509 verify()
- OpenSSL-funktioner
- openssl.requirements
- OpenSSLCertificate — OpenSSLCertificate-klassen
- OpenSSLConst
P
R
- ref.hash
- Resurstyper
- Rnp
- rnp backend string()
- rnp backend version()
- rnp decrypt()
- rnp dump packets to json()
- rnp dump packets()
- rnp ffi create()
- rnp ffi destroy()
- rnp ffi set pass provider()
- rnp import keys()
- rnp import signatures()
- rnp key export autocrypt()
- rnp key export revocation()
- rnp key export()
- rnp key get info()
- rnp key remove()
- rnp key revoke()
- rnp list keys()
- rnp load keys from path()
- rnp load keys()
- rnp locate key()
- rnp op encrypt()
- rnp op generate key()
- rnp op sign cleartext()
- rnp op sign detached()
- rnp op sign()
- rnp op verify detached()
- rnp op verify()
- rnp save keys to path()
- rnp save keys()
- rnp supported features()
- rnp version string full()
- rnp version string()
- Rnp-funktioner
- rnp.const
- rnp.Installation
- RNP.intro
- rnp.Requirements
- rnp.setup
- RnpFFI
S
- Sodium
- sodium add()
- sodium base642bin()
- sodium bin2base64()
- sodium bin2hex()
- sodium compare()
- sodium crypto aead aegis128l decrypt()
- sodium crypto aead aegis128l encrypt()
- sodium crypto aead aegis128l keygen()
- sodium crypto aead aegis256 decrypt()
- sodium crypto aead aegis256 encrypt()
- sodium crypto aead aegis256 keygen()
- sodium crypto aead aes256gcm decrypt()
- sodium crypto aead aes256gcm encrypt()
- sodium crypto aead aes256gcm is available()
- sodium crypto aead aes256gcm keygen()
- sodium crypto aead chacha20poly1305 decrypt()
- sodium crypto aead chacha20poly1305 encrypt()
- sodium crypto aead chacha20poly1305 ietf decrypt()
- sodium crypto aead chacha20poly1305 ietf encrypt()
- sodium crypto aead chacha20poly1305 ietf keygen()
- sodium crypto aead xchacha20poly1305 ietf decrypt()
- sodium crypto aead xchacha20poly1305 ietf encrypt()
- sodium crypto aead xchacha20poly1305 ietf keygen
- sodium crypto aead xchacha20poly1305 ietf keygen()
- sodium crypto auth keygen()
- sodium crypto auth verify()
- sodium crypto auth()
- sodium crypto box keypair from secretkey and publickey()
- sodium crypto box keypair()
- sodium crypto box open()
- sodium crypto box publickey from secretkey()
- sodium crypto box publickey()
- sodium crypto box seal open()
- sodium crypto box seal()
- sodium crypto box secretkey()
- sodium crypto box seed keypair()
- sodium crypto box()
- sodium crypto core ristretto255 add()