System.Tether.Manager.TTetheringAdapter.CheckPassword
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 を使用してパスワード検証を行います。リモート ネットワーク アダプタから、そのマネージャとこちらのネットワーク アダプタのマネージャとをペアにするよう要求されると、次の処理が行われます。
- こちらのネットワーク アダプタのマネージャがパスワードで保護されている(TTetheringManager.Password が空文字列ではない)場合、こちらのネットワーク アダプタは、リモート ネットワーク アダプタとの接続用にランダム シードを生成します。その後、こちらのネットワーク アダプタは、そのシードをリモート ネットワーク アダプタに送信します。
- リモート ネットワーク アダプタは、そのマネージャのパスワードとこちらのネットワーク マネージャが送信したシードとを連結したもののハッシュを生成します。その後、リモート ネットワーク アダプタは、そのハッシュをこちらのネットワーク アダプタに送信します。
- こちらのネットワーク アダプタは、そのマネージャのパスワードと、リモート ネットワーク アダプタとの接続用にこちらのネットワーク アダプタが以前に生成したシードとを連結したもののハッシュを生成します。その後、こちらのネットワーク アダプタは、そのハッシュがリモート ネットワーク アダプタから送信されてきたハッシュと一致するかどうかを確認します。
CheckPassword は、この処理の最後のステップを担当します。CheckPassword は、TTetheringAdapter.Manager.Password と Seed
とを連結したもののハッシュを生成し、そのハッシュが APassword
と一致すれば、True
を返します。2 つのハッシュが一致しなければ、False
を返します。
TTetheringAdapter のサブクラスでは、シードを生成して管理する独自の方法を実装しなければならず、また、CheckPassword を使用して、リモート アダプタから受け取ったハッシュを、シードおよびこちらのアダプタのマネージャのパスワードに照らして検証しなければなりません。