PHP sha1() 函数

实例

计算字符串 "Hello" 的 SHA-1 散列:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <?php
  5. $str = "Shanghai";
  6. echo sha1($str);
  7. ?>
  8. </body>
  9. </html>

定义和用法

sha1() 函数计算字符串的 SHA-1 散列。

sha1() 函数使用美国 Secure Hash 算法 1。

来自 RFC 3174 的解释 - 美国 Secure Hash 算法 1:SHA-1 产生一个名为报文摘要的 160 位的输出。报文摘要可以被输入到一个可生成或验证报文签名的签名算法。对报文摘要进行签名,而不是对报文进行签名,这样可以提高进程效率,因为报文摘要的大小通常比报文要小很多。数字签名的验证者必须像数字签名的创建者一样,使用相同的散列算法。

提示:如需计算文件的 SHA-1 散列,请使用 sha1_file() 函数。


语法

  1. sha1(string,raw)
参数描述
string必需。规定要计算的字符串。
raw

可选。规定十六进制或二进制输出格式:

  • TRUE - 原始 20 字符二进制格式
  • FALSE - 默认。40 字符十六进制数

技术细节

返回值:如果成功则返回已计算的 SHA-1 散列,如果失败则返回 FALSE。
PHP 版本:4.3.0+
更新日志:在 PHP 5.0 中,raw 参数变成可选的。

更多实例

例子 1

输出 sha1() 的结果:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <?php
  5. $str = "Shanghai";
  6. echo "字符串:".$str."<br>";
  7. echo "TRUE - 原始 20 字符二进制格式:".sha1($str, TRUE)."<br>";
  8. echo "FALSE - 40 字符十六进制数:".sha1($str)."<br>";
  9. ?>
  10. </body>
  11. </html>
例子 2

输出 sha1() 的结果并对其进行测试:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <?php
  5. $str = "Shanghai";
  6. echo sha1($str);
  7. if (sha1($str) == "b99463d58a5c8372e6adbdca867428961641cb51 ")
  8. {
  9. echo "<br>I love Shanghai!";
  10. exit;
  11. }
  12. ?>
  13. </body>
  14. </html>

分类导航