函数名:openssl_digest()
适用版本:openssl_digest() 函数在 PHP 5.3.0 及以上版本可用。
用法:openssl_digest() 函数用于计算给定数据的摘要。它可以使用多种加密算法来生成不同类型的摘要。
语法: string openssl_digest ( string $data , string $method [, bool $raw_output = FALSE ] )
参数:
- $data:要计算摘要的数据,可以是字符串或二进制数据。
- $method:指定要使用的加密算法,常用的算法包括:MD5、SHA1、SHA256、SHA384、SHA512等。具体支持的算法取决于 OpenSSL 库的支持。
- $raw_output(可选):设置为 TRUE 时,返回原始二进制数据摘要;设置为 FALSE 时(默认),返回十六进制编码的摘要。
返回值:返回计算得到的摘要,如果失败则返回 FALSE。
示例:
// 计算字符串的 MD5 摘要
$data = "Hello, world!";
$digest = openssl_digest($data, "md5");
echo "MD5 Digest: " . $digest . "\n";
// 计算文件的 SHA256 摘要
$file = "/path/to/file.txt";
$contents = file_get_contents($file);
$digest = openssl_digest($contents, "sha256");
echo "SHA256 Digest: " . $digest . "\n";
以上示例将输出:
MD5 Digest: 6cd3556deb0da54bca060b4c39479839
SHA256 Digest: 2c6ee24b09816a6f14f95d1698b24ead7d4eb462d8c51a10f7e924ddec8bce26
注意:openssl_digest() 函数依赖于 OpenSSL 扩展库,因此在使用该函数之前,需要确保 OpenSSL 扩展已正确安装和启用。