Преобразование строки по алгоритму md5
Синтаксис
encode_string(<результат>, <строка>[,<ключ>])
<результат> – результирующая строка типа BYTE;
<строка> – преобразуемая строка типа CHAR;
<ключ> – ключ преобразования типа CHAR.
Описание
Одностороннее преобразование строки по алгоритму md5 с заданным ключом.
Если параметр <ключ> не задан, используется ключ преобразования по умолчанию.
Функция позволяет создавать пользователей БД непосредственно в теле процедуры.
Возвращаемое значение
-
Результат преобразования длиной 16 байт возвращается в переменной
<результат>. -
Если длина этой переменной меньше 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;