📜  php 中的 sha256(1)

📅  最后修改于: 2023-12-03 15:18:27.503000             🧑  作者: Mango

PHP中的SHA256

SHA-256是一种安全散列算法,常用于数据完整性校验、数字签名等安全相关场景。在PHP中,我们可以使用hash()函数来计算SHA-256散列值。下面是一个示例:

$data = 'hello world';
$hash = hash('sha256', $data);

echo $hash; // 输出SHA-256散列值:b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

我们可以看到,该代码使用hash()函数计算了"hello world"字符串的SHA-256散列值,并将结果输出。接下来,我们来详细介绍一下hash()函数的用法。

Syntax

hash()函数的语法如下:

hash ( string $algo , string $data , bool $raw_output = false ) : string|false
参数
  • $algo:散列算法的名称,如"md5"、"sha256"等。
  • $data:要计算散列值的数据。
  • $raw_output:如果设置为true,则输出散列值的二进制格式;否则输出散列值的十六进制格式。
返回值
  • 如果计算成功,则返回对应算法的散列值。
  • 如果计算失败,则返回false
示例
示例1:计算字符串的SHA-256散列值
$data = 'hello world';
$hash = hash('sha256', $data);

echo $hash;
// 输出SHA-256散列值:b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
示例2:计算文件的SHA-256散列值
$file = 'path/to/your/file.txt';
$hash = hash_file('sha256', $file);

echo $hash;
// 输出文件的SHA-256散列值
示例3:计算复杂数据类型的SHA-256散列值
$data = array(
    'name' => 'Alice',
    'age' => 20,
    'hobby' => array('reading', 'music'),
);

$data_json = json_encode($data); // 转换为JSON格式

$hash = hash('sha256', $data_json);

echo $hash;
// 输出数据的SHA-256散列值
注意事项
  • hash()函数只能计算数据的散列值,不能进行数据加密和解密。
  • hash()函数的$algo参数支持的散列算法列表可以调用hash_algos()函数来查看。
  • hash_file()函数可以用来计算文件的散列值,用法与hash()函数基本相同。

这是PHP中SHA-256的一些基本用法,希望对您有所帮助。