ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v19.8
Verify password hash

Verify password hash 


 

Verify password hash ( password ; hash ) -> 戻り値 
引数   説明
password  文字 in ユーザーのパスワード。最初の72文字のみ使用。
hash  文字 in パスワードのハッシュ
戻り値  ブール in パスワードとハッシュが合致する場合には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 Security guide
Generate password hash

 
プロパティ 

プロダクト: 4D
テーマ: ツール
番号: 1534

This command can be run in preemptive processes

 
ページの目次 
 
履歴 

初出: 4D v16 R5

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v19)
ランゲージリファレンス ( 4D v19.1)
ランゲージリファレンス ( 4D v19.4)
ランゲージリファレンス ( 4D v19.5)
ランゲージリファレンス ( 4D v19.6)
ランゲージリファレンス ( 4D v19.7)
ランゲージリファレンス ( 4D v19.8)