ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
Verify password hash
|
Verify password hash ( password ; hash ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
password | 文字 |
![]() |
ユーザーのパスワード。最初の72文字のみ使用。 | |||||
hash | 文字 |
![]() |
パスワードのハッシュ | |||||
戻り値 | ブール |
![]() |
パスワードとハッシュが合致する場合にはTRUE、それ以外の場合にはFALSE。 | |||||
Verify password hash ファンクションは、hash 引数で渡されたハッシュ値が、password 引数のパスワードと合致するかどうかを検証します。
このファンクションはpassword 引数のパスワードを、Generate password hash ファンクションで生成されたhash 引数のハッシュと比較します。
以下のエラーが返される可能性があります。これらのエラーはGET LAST ERROR STACK および ON ERR CALL コマンドで分析することができます。
番号 | メッセージ |
850 | パスワード-ハッシュ: サポートされていないアルゴリズムです。 |
851 | パスワード-ハッシュ: 一貫性のチェックに失敗しました。 |
注: サポートされるアルゴリズムはbcrypt アルゴリズムのみです。ハッシュがbcrypt を使用して生成されたものではなかった場合、エラーが返されます。
この例題ではGenerate password hash コマンドで作成済みで[Users] テーブルに保存されているパスワードハッシュを、新たに入力されたパスワードと検証する場合を考えます:
C_TEXT($password)
$password:=Request("Please enter your password")
If(Verify password hash($password;[Users]hash))
ALERT("Good password")
Else
ALERT("Password error")
End if
注: パスワードはディスク上に保存されることはありません。保存されるのはハッシュのみです。リモート4D アプリケーションを使用している場合、ハッシュはクライアント側で生成されることもあります。4D の代わりに例えばJavaScriptベースの(あるいはそれに類似した)フロントエンドを使用している場合、セキュリティ的な観点からみた最適な方法は、ハッシュをサーバー側で生成することです。無論、セキュリティのためにTLS 暗号化ネットワーク接続を使用するべきです。この場合ネットワーク上でパスワードを通信する必要があるからです。
プロダクト: 4D
テーマ: ツール
番号:
1534
初出: 4D v16 R5
ランゲージリファレンス ( 4D v19)
ランゲージリファレンス ( 4D v19.1)
ランゲージリファレンス ( 4D v19.4)
ランゲージリファレンス ( 4D v19.5)
ランゲージリファレンス ( 4D v19.6)
ランゲージリファレンス ( 4D v19.7)
ランゲージリファレンス ( 4D v19.8)