Преобразование строки по алгоритму 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;