System.Tether.Manager.TTetheringAdapter.CheckPassword

提供:RAD Studio API Documentation

Delphi

function CheckPassword(const APassword, Seed: string): Boolean;

C++

bool __fastcall CheckPassword(const System::UnicodeString APassword, const System::UnicodeString Seed);

プロパティ

種類 可視性 ソース ユニット 親
function protected
System.Tether.Manager.pas
System.Tether.Manager.hpp
System.Tether.Manager TTetheringAdapter


説明

指定されたハッシュが、アダプタ マネージャのパスワードと指定されたシードとを連結したもののハッシュに一致すれば、True を返します。 一致しなければ、False を返します。

TTetheringNetworkAdapterCommon は、CheckPassword を使用してパスワード検証を行います。リモート ネットワーク アダプタから、そのマネージャとこちらのネットワーク アダプタのマネージャとをペアにするよう要求されると、次の処理が行われます。

  1. こちらのネットワーク アダプタのマネージャがパスワードで保護されている(TTetheringManager.Password が空文字列ではない)場合、こちらのネットワーク アダプタは、リモート ネットワーク アダプタとの接続用にランダム シードを生成します。その後、こちらのネットワーク アダプタは、そのシードをリモート ネットワーク アダプタに送信します。
  2. リモート ネットワーク アダプタは、そのマネージャのパスワードとこちらのネットワーク マネージャが送信したシードとを連結したもののハッシュを生成します。その後、リモート ネットワーク アダプタは、そのハッシュをこちらのネットワーク アダプタに送信します。
  3. こちらのネットワーク アダプタは、そのマネージャのパスワードと、リモート ネットワーク アダプタとの接続用にこちらのネットワーク アダプタが以前に生成したシードとを連結したもののハッシュを生成します。その後、こちらのネットワーク アダプタは、そのハッシュがリモート ネットワーク アダプタから送信されてきたハッシュと一致するかどうかを確認します。

CheckPassword は、この処理の最後のステップを担当します。CheckPassword は、TTetheringAdapter.Manager.Password と Seed とを連結したもののハッシュを生成し、そのハッシュが APassword と一致すれば、True を返します。2 つのハッシュが一致しなければ、False を返します。

TTetheringAdapter のサブクラスでは、シードを生成して管理する独自の方法を実装しなければならず、また、CheckPassword を使用して、リモート アダプタから受け取ったハッシュを、シードおよびこちらのアダプタのマネージャのパスワードに照らして検証しなければなりません。

関連項目