PHP 8.3.4 Released!

openssl_digest

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_digestComputa un método de resumen

Descripción

openssl_digest(string $data, string $method, bool $raw_output = false): string

Computa un valor hash del método de resumen (digest) para la información dada usando el método dado, y devuelve una cadena codificada en bruto o mediante binhex.

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

data

La información.

method

El método de resumen.

raw_output

Establecido a true devolverá información de salida en bruto, si no, devolverá el valor codificado mediante binhex.

Valores devueltos

Devuelve el valor hash del método de resumen si se tuvo éxito o false en caso de error.

Errores/Excepciones

Emite un error de nivel E_WARNING si se pasa un algoritmo de cifrado desconocido mediante el parámetro method.

Ver también

add a note

User Contributed Notes 3 notes

up
9
mwgamera at gmail dot com
10 years ago
The second argument should be one of the values returned by openssl_get_md_methods() rather than hash_algos(). ‘Hash’ and ‘OpenSSL’ are independent extensions and support different selection of digest algorithms. Notably, Hash supports some non-cryptographic hashes like adler or crc.
up
-30
skyblackhawk at yahoo dot it
12 years ago
Example:
// $fileBuffer is buffer of file in open mode or a generic stream...
$fingerPrint = openssl_digest ($fileBuffer , "sha512");

$method parameter is one of hash_algos() array;

<? echo"<PRE>";
var_dump(hash_algos());
echo "</PRE>"
?>

Output:

array(42) {
[0]=>
string(3) "md2"
[1]=>
string(3) "md4"
[2]=>
string(3) "md5"
[3]=>
string(4) "sha1"
[4]=>
string(6) "sha224"
[5]=>
string(6) "sha256"
[6]=>
string(6) "sha384"
[7]=>
string(6) "sha512"
[8]=>
string(9) "ripemd128"
[9]=>
string(9) "ripemd160"
[10]=>
string(9) "ripemd256"
[11]=>
string(9) "ripemd320"
[12]=>
string(9) "whirlpool"
[13]=>
string(10) "tiger128,3"
[14]=>
string(10) "tiger160,3"
[15]=>
string(10) "tiger192,3"
[16]=>
string(10) "tiger128,4"
[17]=>
string(10) "tiger160,4"
[18]=>
string(10) "tiger192,4"
[19]=>
string(6) "snefru"
[20]=>
string(9) "snefru256"
[21]=>
string(4) "gost"
[22]=>
string(7) "adler32"
[23]=>
string(5) "crc32"
[24]=>
string(6) "crc32b"
[25]=>
string(7) "salsa10"
[26]=>
string(7) "salsa20"
[27]=>
string(10) "haval128,3"
[28]=>
string(10) "haval160,3"
[29]=>
string(10) "haval192,3"
[30]=>
string(10) "haval224,3"
[31]=>
string(10) "haval256,3"
[32]=>
string(10) "haval128,4"
[33]=>
string(10) "haval160,4"
[34]=>
string(10) "haval192,4"
[35]=>
string(10) "haval224,4"
[36]=>
string(10) "haval256,4"
[37]=>
string(10) "haval128,5"
[38]=>
string(10) "haval160,5"
[39]=>
string(10) "haval192,5"
[40]=>
string(10) "haval224,5"
[41]=>
string(10) "haval256,5"
}
up
-28
Anonymous
9 years ago
Hmm.. really @mwgamera? openssl_get_cipher_methods() returns cipher methods but openssl_digest() expects a digest method in the second parameter. However even the docu on this page links to the openssl_get_cipher_methods() method in the "See also" section (however this can be a coincidence). Shouldn't it be a digest method from openssl_get_md_methods() instead openssl_get_cipher_methods()?

I'm not very experienced in cryptography but I don't really understand why you would pass a cipher method to a hash function instead of a digest method.
To Top