password hash(): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '= password_hash = '''password_hash''' — Skapar en lösenordshash == Beskrivning == <pre> password_hash(#[\SensitiveParameter] string $password, string|int|null $algo, array $options = []): string </pre> '''password_hash()''' skapar en ny lösenordshash med en stark envägshashing-algoritm. Följande algoritmer stöds för närvarande: * '''PASSWORD_DEFAULT''' - Använder bcrypt-algoritmen = Sidslut = Orginalhemsidan på Engelska :https://www.php.net/manual/en/funct...') |
Admin (diskussion | bidrag) |
||
(3 mellanliggande sidversioner av samma användare visas inte) | |||
Rad 8: | Rad 8: | ||
'''password_hash()''' skapar en ny lösenordshash med en stark envägshashing-algoritm. | '''password_hash()''' skapar en ny lösenordshash med en stark envägshashing-algoritm. | ||
De algoritmer som för närvarande stöds är: | |||
* '''PASSWORD_DEFAULT''' - Använder bcrypt-algoritmen | * '''PASSWORD_DEFAULT''' - Använder bcrypt-algoritmen (standard sedan PHP 5.5.0). Denna konstant är utformad för att förändras över tid när starkare algoritmer läggs till. Därför rekommenderas det att lagra resultatet i en databas med kolumnbredd på minst 255 tecken. | ||
* '''PASSWORD_BCRYPT''' - Använder CRYPT_BLOWFISH-algoritmen för att skapa en hash. Detta resulterar i en standardkompatibel hash med "$2y$"-identifieraren och genererar alltid en 60 tecken lång sträng. | |||
* '''PASSWORD_ARGON2I''' - Använder Argon2i-algoritmen (tillgänglig från och med PHP 7.2.0). | |||
* '''PASSWORD_ARGON2ID''' - Använder Argon2id-algoritmen (tillgänglig från och med PHP 7.3.0). | |||
== Parametrar == | |||
* '''password''' - Användarens lösenord. | |||
* '''algo''' - En konstant som anger vilken algoritm som ska användas. | |||
* '''options''' - En associativ array med alternativ. | |||
Om '''options''' är tomt genereras ett slumpmässigt salt och standardkostnaden används. | |||
== Returnerar == | |||
Returnerar den hashade lösenordssträngen. All information som behövs för att verifiera lösenordet (algoritm, kostnad, och salt) inkluderas i hashen, vilket gör det möjligt för [[password_verify()]] att verifiera lösenordet utan att behöva spara separat information. | |||
== Exempel == | |||
'''Exempel #1 Använda password_hash() med standardinställningar''' | |||
<pre> | |||
<?php | |||
echo password_hash("hemligt_losenord", PASSWORD_DEFAULT); | |||
?> | |||
</pre> | |||
Utskriften blir något liknande: | |||
<pre> | |||
$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a | |||
</pre> | |||
'''Exempel #2 Använda password_hash() med anpassad kostnad''' | |||
<pre> | |||
<?php | |||
$options = ['cost' => 12]; | |||
echo password_hash("hemligt_losenord", PASSWORD_BCRYPT, $options); | |||
?> | |||
</pre> | |||
Utskriften blir något liknande: | |||
<pre> | |||
$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K | |||
</pre> | |||
'''Exempel #3 Använda password_hash() med Argon2i''' | |||
<pre> | |||
<?php | |||
echo 'Argon2i hash: ' . password_hash('hemligt_losenord', PASSWORD_ARGON2I); | |||
?> | |||
</pre> | |||
Utskriften blir något liknande: | |||
<pre> | |||
Argon2i hash: $argon2i$v=19$m=1024,t=2,p=2$YzJBSzV4TUhkMzc3d3laeg$zqU/1IN0/AogfP4cmSJI1vc8lpXRW9/S0sYY2i2jHT0 | |||
</pre> | |||
== Se även == | |||
* [[password_verify()]] - Verifierar att ett lösenord matchar en hash. | |||
* [[password_needs_rehash()]] - Kontrollerar om en hash behöver omarbetas. | |||
* [[crypt()]] - Envägshashning av strängar. | |||
* [[sodium_crypto_pwhash_str()]] - Genererar en ASCII-kodad hash. | |||
= Sidslut = | = Sidslut = |
Nuvarande version från 9 november 2024 kl. 12.39
password_hash
password_hash — Skapar en lösenordshash
Beskrivning
password_hash(#[\SensitiveParameter] string $password, string|int|null $algo, array $options = []): string
password_hash() skapar en ny lösenordshash med en stark envägshashing-algoritm.
De algoritmer som för närvarande stöds är:
- PASSWORD_DEFAULT - Använder bcrypt-algoritmen (standard sedan PHP 5.5.0). Denna konstant är utformad för att förändras över tid när starkare algoritmer läggs till. Därför rekommenderas det att lagra resultatet i en databas med kolumnbredd på minst 255 tecken.
- PASSWORD_BCRYPT - Använder CRYPT_BLOWFISH-algoritmen för att skapa en hash. Detta resulterar i en standardkompatibel hash med "$2y$"-identifieraren och genererar alltid en 60 tecken lång sträng.
- PASSWORD_ARGON2I - Använder Argon2i-algoritmen (tillgänglig från och med PHP 7.2.0).
- PASSWORD_ARGON2ID - Använder Argon2id-algoritmen (tillgänglig från och med PHP 7.3.0).
Parametrar
- password - Användarens lösenord.
- algo - En konstant som anger vilken algoritm som ska användas.
- options - En associativ array med alternativ.
Om options är tomt genereras ett slumpmässigt salt och standardkostnaden används.
Returnerar
Returnerar den hashade lösenordssträngen. All information som behövs för att verifiera lösenordet (algoritm, kostnad, och salt) inkluderas i hashen, vilket gör det möjligt för password_verify() att verifiera lösenordet utan att behöva spara separat information.
Exempel
Exempel #1 Använda password_hash() med standardinställningar
<?php echo password_hash("hemligt_losenord", PASSWORD_DEFAULT); ?>
Utskriften blir något liknande:
$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
Exempel #2 Använda password_hash() med anpassad kostnad
<?php $options = ['cost' => 12]; echo password_hash("hemligt_losenord", PASSWORD_BCRYPT, $options); ?>
Utskriften blir något liknande:
$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
Exempel #3 Använda password_hash() med Argon2i
<?php echo 'Argon2i hash: ' . password_hash('hemligt_losenord', PASSWORD_ARGON2I); ?>
Utskriften blir något liknande:
Argon2i hash: $argon2i$v=19$m=1024,t=2,p=2$YzJBSzV4TUhkMzc3d3laeg$zqU/1IN0/AogfP4cmSJI1vc8lpXRW9/S0sYY2i2jHT0
Se även
- password_verify() - Verifierar att ett lösenord matchar en hash.
- password_needs_rehash() - Kontrollerar om en hash behöver omarbetas.
- crypt() - Envägshashning av strängar.
- sodium_crypto_pwhash_str() - Genererar en ASCII-kodad hash.
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.password-hash.php
PHP
Funktioner
Funktionsreferens
Kryptografitillägg
Lösenordshashning
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.