Доступные версии документации

Преобразование строки по алгоритму md5

Синтаксис
 
encode_string(<результат>, <строка>[,<ключ>])

<результат> – результирующая строка типа BYTE;

<строка> – преобразуемая строка типа CHAR;

<ключ> – ключ преобразования типа CHAR.

Описание

Одностороннее преобразование строки по алгоритму md5 с заданным ключом.

Если параметр <ключ> не задан, используется ключ преобразования по умолчанию.

Функция позволяет создавать пользователей БД непосредственно в теле процедуры.

Возвращаемое значение
  1. Результат преобразования длиной 16 байт возвращается в переменной <результат>.

  2. Если длина этой переменной меньше 16 байт, то заносятся только первые байты результата, если больше – оставшиеся байты заполняются нулями.

Пример
create or replace table upwds(uname char(20), pwd byte(16));

create or replace procedure add_user(in uname char(20); in pwd char(20))
for debug
declare
  var encstr byte(16); //
code
  encode_string(encstr, pwd); //
  execute "insert into upwds values(?,?);" using uname, encstr; //
end;

create or replace procedure check_user(in uname char(20); in pwd char(20)) result int
for debug
declare
  var encstr byte(16); //
code
  encode_string(encstr, pwd); //
  execute "select * from upwds where uname= ? and pwd = ?;" using uname, encstr; //
  if errcode() = 2 then
    return 0; // not correct
  else
    return 1; //
  endif
end;
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter