PHP sha1() 函數

實例

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

<?php
$str = "Shanghai";
echo sha1($str);
?>

運行實例

定義和用法

sha1() 函數計算字符串的 SHA-1 散列。

sha1() 函數使用美國 Secure Hash 算法 1。

來自 RFC 3174 的解釋 - 美國 Secure Hash 算法 1:SHA-1 產生一個名為報文摘要的 160 位的輸出。報文摘要可以被輸入到一個可生成或驗證報文簽名的簽名算法。對報文摘要進行簽名,而不是對報文進行簽名,這樣可以提高進程效率,因為報文摘要的大小通常比報文要小很多。數字簽名的驗證者必須像數字簽名的創建者一樣,使用相同的散列算法。

提示:如需計算文件的 SHA-1 散列,請使用 sha1_file() 函數。

語法

sha1(string,raw)
參數 描述
string 必需。規定要計算的字符串。
raw

可選。規定十六進制或二進制輸出格式:

  • TRUE - 原始 20 字符二進制格式
  • FALSE - 默認。40 字符十六進制數

技術細節

返回值: 如果成功則返回已計算的 SHA-1 散列,如果失敗則返回 FALSE。
PHP 版本: 4.3.0+
更新日志: 在 PHP 5.0 中,raw 參數變成可選的。

更多實例

例子 1

輸出 sha1() 的結果:

<?php
$str = "Shanghai";
echo "字符串:".$str."<br>";
echo "TRUE - 原始 20 字符二進制格式:".sha1($str, TRUE)."<br>";
echo "FALSE - 40 字符十六進制數:".sha1($str)."<br>";
?>

運行實例

例子 2

輸出 sha1() 的結果并對其進行測試:

<?php
$str = "Shanghai";
echo sha1($str);
if (sha1($str) == "b99463d58a5c8372e6adbdca867428961641cb51")
  {
  echo "<br>I love Shanghai!";
  exit;
  }
?>

運行實例