IMetabaseSecurity.HashPassword

Синтаксис

HashPassword(Password: String): String;

HashPassword(System.String): System.String;

Параметры

Password. Пароль, который должен быть хэширован.

Описание

Метод HashPassword осуществляет хэширование пароля.

Пример

Для выполнения примера разместите на форме компоненты Button, EditBox (для примера на Fore.NET используйте компонент TextBox), Memo (для примера на Fore.NET используйте компонент ListBox) с наименованиями «Button1», «EditBox1»/«textBox1», «Memo1»/«listBox1» соответственно.

Добавьте системные сборки:

Пример является обработчиком события OnClick для компонента «Button1».

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    User: IMetabaseUser;        
    HashP: String;
    MbPassHistory: IPasswordHistory;
    Lic: Object;
Begin
    MB := MetabaseClass.Active;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := Mb.RequestLicense(UiLicenseFeatureType.Adm);
    MS := MB.Security;
    
// Получим параметры пользователя ADMIN
    User := MS.ResolveName("ADMIN"As IMetabaseUser;
    HashP := MS.HashPassword(EditBox1.Text);
    MbPassHistory := User.PasswordHistory;
    
// Добавим заданный пароль в историю
    If MbPassHistory.Contains(HashP) Then
        Memo1.Lines.Add(
"Пароль '" + EditBox1.Text + "' уже содержится в истории");
        
Else MbPassHistory.Insert(HashP);
            Memo1.Lines.Add(
"Пароль '" + EditBox1.Text + "' добавлен в историю");
    
End If;
    
// Сохраним изменения
    MS.Apply;
    
// Освободим лицензию
    Lic := Null;
End Sub Button1OnClick;

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Forms.Net;
Imports Prognoz.Platform.Interop.ForeSystem;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    User: IMetabaseUser;        
    HashP: String;
    MbPassHistory: IPasswordHistory;
    Lic: Object;
Begin
    MB := Self.Metabase;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := Mb.RequestLicense(UiLicenseFeatureType.lftAdm);
    MS := MB.Security;
    
// Получим параметры пользователя ADMIN
    User := MS.ResolveName("ADMIN"As IMetabaseUser;
    HashP := MS.HashPassword(textBox1.Text);
    MbPassHistory := User.PasswordHistory;
    
// Добавим заданный пароль в историю
    If MbPassHistory.Contains(HashP) Then
        listBox1.Items.Add(
"Пароль '" + textBox1.Text + "' уже содержится в истории");
        
Else MbPassHistory.Insert(HashP);
            listBox1.Items.Add(
"Пароль '" + textBox1.Text + "' добавлен в историю");
    
End If;
    
// Сохраним изменения
    MS.Apply();
    
// Освободим лицензию
    Lic := Null;
End Sub;

После выполнения примера в компоненте Memo/ListBox будет выведен результат проверки заданного пароля в компоненте EditBox/TextBox:

См. также:

IMetabaseSecurity