openssl random pseudo bytes()
openssl_random_pseudo_bytes
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
openssl_random_pseudo_bytes — Genererar en pseudorandomiserad sträng med bytes
Beskrivning
openssl_random_pseudo_bytes(int $length, bool &$strong_result = null): string
openssl_random_pseudo_bytes() genererar en sträng av pseudorandomiserade bytes med antalet bytes bestämt av length
-parametern.
Funktionen kan också ange om en kryptografiskt stark algoritm användes för att generera de pseudorandomiserade bytesen via den valfria parametern strong_result
. Det är ovanligt att värdet blir false
, men vissa system kan vara föråldrade eller ha brister.
Parametrar
- length — Längden på den önskade byte-strängen. Måste vara ett positivt heltal mindre än eller lika med 2147483647. PHP kommer att försöka konvertera denna parameter till ett icke-null-värde för att använda det.
- strong_result — Om värdet skickas med kommer det att innehålla en boolsk värde som avgör om algoritmen som användes var kryptografiskt stark, till exempel säker för användning med GPG, lösenord etc.
true
om så är fallet, annarsfalse
.
Returnerar
Returnerar den genererade byte-strängen.
Fel/Undantag
openssl_random_pseudo_bytes() kastar ett undantag vid fel.
Changelog
Version | Beskrivning |
---|---|
8.0.0 | strong_result är nu nullable.
|
7.4.0 | Funktionen returnerar inte längre false vid fel, utan kastar istället ett undantag.
|
Exempel
Exempel #1 openssl_random_pseudo_bytes() exempel
<?php for ($i = 1; $i <= 4; $i++) { $bytes = openssl_random_pseudo_bytes($i, $cstrong); $hex = bin2hex($bytes); echo "Längd: Bytes: $i och Hex: " . strlen($hex) . PHP_EOL; var_dump($hex); var_dump($cstrong); echo PHP_EOL; } ?>
Utdata kan se ut som följande:
Längd: Bytes: 1 och Hex: 2 string(2) "42" bool(true) Längd: Bytes: 2 och Hex: 4 string(4) "dc6e" bool(true) Längd: Bytes: 3 och Hex: 6 string(6) "288591" bool(true) Längd: Bytes: 4 och Hex: 8 string(8) "ab86d144" bool(true)
Se även
- random_bytes() - Generera kryptografiskt säkra slumpmässiga bytes
- bin2hex() - Konvertera binära data till hexadecimal representation
- crypt() - Envägskryptering av strängar
- random_int() - Få ett kryptografiskt säkert slumpmässigt heltal
openssl_pkcs7_read
(PHP 7 >= 7.2.0, PHP 8)
openssl_pkcs7_read — Exporterar PKCS7-filen till en array av PEM-certifikat
Beskrivning
openssl_pkcs7_read(string $data, array &$certificates): bool
Denna funktion analyserar PKCS7-certifikatfilen (p7b-format) och returnerar en array med PEM-kodade certifikat.
Parametrar
- data — Strängen med data i p7b-format som ska analyseras.
- certificates — Array som innehåller PEM-certifikat från p7b-inmatningsdata.
Returnerar
Returnerar
true
vid framgång eller
false
vid fel.
Exempel
Exempel #1 Hämta en PEM-array från en P7B-fil
<?php $file = 'certs.p7b'; $f = file_get_contents($file); $p7 = array(); $r = openssl_pkcs7_read($f, $p7); if ($r === false) { printf("ERROR: %s är inte en giltig p7b-fil".PHP_EOL, $file); for($e = openssl_error_string(), $i = 0; $e; $e = openssl_error_string(), $i++) printf("SSL l%d: %s".PHP_EOL, $i, $e); exit(1); } print_r($p7); ?>
Se även
- openssl_csr_sign() — Signera en CSR med ett annat certifikat (eller sig själv) och generera ett certifikat
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.openssl-random-pseudo-bytes.php PHP Funktioner Funktionsreferens OpenSSL-funktioner
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 Datorreparation Stockholm som har sponsrat Linux.se med webserver.