Язык @-формул в LotusDomino R 6.

Функции для работы с паролями


@Password( строка

)

Область применения: без ограничений.

Функция обычно используется в формулах преобразования значения полей (input translation formula) для шифрования пользовательского пароля перед показом его другим пользователям. В Lotus Notes не существует встроенных возможностей для обратного декодирования строки, полученной с помощью @Password в исходную.

Пример. Возвращает (355E98E7C7B59BD810ED845AD0FD2FC4)

@Password( "password" );

J @HashPassword( строка )

Область применения: без ограничений.

Функция осуществляет хеш кодирование строки. Данный алгоритм кодирования более стойкий, чем у функции @Password. Тем более что в R 6 некоторые документы Person содержат предопределенное поле $SecurePassword, значение которого есть хеш-пароль, полученный по алгоритму @HashPassword.

Обратите внимание, что при одном и том же значении параметра возвращаемые функцией результаты могут отличаться.

Пример. Функция может вернуть «(GAEpkbr7HULl78FvDlH7)».

@HashPassword( "password" );

J @VerifyPassword( пароль1; пароль2 )



Область применения: В DOMINO R 6.0.1 НЕ ДОКУМЕНТИРОВАНА.

Сравнивает два пароля, и возвращает 1 (TRUE), если пароли эквивалентны, и 0 (FALSE) в противном случае. В качестве аргументов функции могут использоваться значения, возвращаемые @Password и @HashPassword.

Обратите ВНИМАНИЕ!!!, что параметры пароль1

и пароль2 не равнозначны с точки зрения смысла. В пароле1

должен присутствовать незашифрованный пароль, а в пароле2 – зашифрованный. Изменение порядка следования параметров вызывает возврат функцией значения 0 (FALSE). Данная информация отсутствует в Help.

Пример 1. Вернет 1.

@VerifyPassword( "password"; @Password( "password" ))

Пример 2. Вернет 1.

@VerifyPassword( "password"; @HashPassword( "password" ))

Пример 3. Вернет 0.

@VerifyPassword( "password"; @HashPassword( "Password" ))

Пример 4. Демонстрирует неравнозначность параметров функции, которая вернет значение 0.

@VerifyPassword(@HashPassword( "password" ); "password")

@PasswordQuality( имя_поля )

Область применения: без ограничений. Функция работает в Web-приложениях.

Вычисляет и возвращает в виде числа уровень сложности пароля для расшифровки. В документации достаточно бедно описана эта функция. В частности, не сказано даже как задавать имя_поля в виде литерала, или просто имени. Из опыта получается, что верен второй путь.

Параметр имя_поля задает имя поля с типом данные “пароль” (Password). Более высокое возвращаемое значение указывает на большую сложность для расшифровки. Опять же из опыта, функция работает и для полей с другими типами данных, а так же и с текстовыми литералами.

Пример. Если в поле my_pass хранится значение (355E98E7C7B59BD810ED845AD0FD2FC4), то функция вернет значение 51.

@PasswordQuality( my_pass );



Содержание раздела