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

オプション。16進数またはバイナリの出力形式を指定します:

  • TRUE - 元の20文字のバイナリ形式
  • FALSE - デフォルト。40 文字の16進数

技術的詳細

返り値: 成功した場合、計算された 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 文字の16進数:".sha1($str)."<br>";
?>

実行例

例 2

sha1() の結果を出力し、テストします:

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

実行例