📅  最后修改于: 2023-12-03 15:18:20.595000             🧑  作者: Mango
openssl_digest()
函数介绍openssl_digest()
函数是 PHP 中用于进行散列计算的函数。散列计算可以将任意长度的数据转换成固定长度的散列值,通常用于确认数据的完整性和一致性。openssl_digest()
函数支持多种散列算法,包括 MD5、SHA1、SHA256、SHA384 等。
openssl_digest(string $data, string $method, bool $raw_output = false): string|false
参数说明:
$data
:要进行散列计算的数据。$method
:散列算法的名称,例如 'MD5'
、'SHA1'
等。$raw_output
:是否输出原始的二进制散列值,如果为 true
,则输出原始的二进制值;否则将二进制值转换成十六进制格式输出。返回值:
false
。以下示例演示如何使用 openssl_digest()
函数计算字符串 'hello world'
的 MD5 散列值:
$res = openssl_digest('hello world', 'MD5');
echo $res; // 输出 '5eb63bbbe01eeed093cb22bb8f5acdc3'
以下示例演示如何使用 openssl_digest()
函数计算文件 'example.txt'
的 SHA256 散列值:
$file = '/path/to/example.txt';
$res = openssl_digest(file_get_contents($file), 'SHA256');
echo $res; // 输出 '4c7ad36b1a0dad7a12d4cfb5eb5cb5a5d5a5bb9d5fe5e745e16b984b3431ebff'
openssl_digest()
函数计算散列值时,建议先对数据进行适当的编码,例如使用 utf8_encode()
将字符串编码为 UTF-8 格式,避免计算出错。