create extension if not exists "pgcrypto" with schema "public" version '1.3'; set check_function_bodies = off; CREATE OR REPLACE FUNCTION public.hash_text(plain text) RETURNS hashed_text LANGUAGE plpgsql IMMUTABLE AS $function$ begin return row(crypt(plain, gen_salt('bf'))); end; $function$ ; CREATE OR REPLACE FUNCTION public.hashed_text_matches(plain text, hashed hashed_text) RETURNS boolean LANGUAGE plpgsql IMMUTABLE AS $function$ begin return hashed_text_string(hashed) = crypt(plain, hashed_text_string(hashed)); end; $function$ ; CREATE OR REPLACE FUNCTION public.hashed_text_string(hashed hashed_text) RETURNS text LANGUAGE sql IMMUTABLE AS $function$select (hashed.hashed);$function$ ;