PHP sha1() 函数
PHP sha1() 函数计算字符串的 SHA-1 散列
( PHP >= 4.3.0 )
函数原型
sha1( string,raw )
sha1() 函数使用美国 Secure Hash 算法 1
来自 RFC 3174 的解释
美国 Secure Hash 算法 1:
SHA-1 产生一个名为报文摘要的 160 位的输出
报文摘要可以被输入到一个可生成或验证报文签名的签名算法
对报文摘要进行签名,而不是对报文进行签名,这样可以提高进程效率,因为报文摘要的大小通常比报文要小很多
数字签名的验证者必须像数字签名的创建者一样,使用相同的散列算法
如需计算文件的 SHA-1 散列,请使用函数 sha1_file()
参数
参数 | 描述 |
---|---|
string | 必需。规定要计算的字符串 |
raw | 可选。规定十六进制或二进制输出格式: TRUE - 原始 20 字符二进制格式 FALSE - 默认。40 字符十六进制数 |
返回值
如果成功则返回已计算的 SHA-1 散列,如果失败则返回 FALSE
范例
计算字符串 "Hello" 的 SHA-1 散列
<?php $str = "Hello"; echo sha1($str);
运行以上 PHP 范例,输出结果如下
f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
范例 2
输出 sha1() 的结果
<?php $str = "Hello"; echo "The string: ".$str."<br>"; echo "TRUE - Raw 20 character binary format: ".sha1($str, TRUE)."<br>"; echo "FALSE - 40 character hex number: ".sha1($str)."<br>";
运行以上 PHP 范例,输出结果如下
The string: Hello TRUE - Raw 20 character binary format: ����{���p�Z]x^��� FALSE - 40 character hex number: f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
范例 3
输出 sha1() 的结果并对它进行测试
<?php $str = "Hello"; echo sha1($str); if (sha1($str) == "f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0") { echo "<br>Hello world!"; exit; }
运行以上 PHP 范例,输出结果如下
f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 Hello world!