db/schema/010_hashed_text.sql

28 lines
551 B
MySQL
Raw Normal View History

2023-06-10 16:24:16 +00:00
create type hashed_text as (hashed text);
create function hashed_text_string(hashed hashed_text)
returns text
language sql
immutable
as 'select (hashed.hashed);';
create function hash_text(plain text)
returns hashed_text
language plpgsql
immutable
as $$
begin
return row(crypt(plain, gen_salt('bf')));
end;
$$;
create function hashed_text_matches(plain text, hashed hashed_text)
returns boolean
language plpgsql
immutable
as $$
begin
return hashed_text_string(hashed) = crypt(plain, hashed_text_string(hashed));
end;
$$;