CREATE OR REPLACE function SHA1_HASH(p_username in VARCHAR2,p_password in VARCHAR2) return VARCHAR2 is l_password VARCHAR2 (4000); l_salt VARCHAR2 (4000) := 'SALTSALTSALTSALTSALTSALT'; -- change with your salt. BEGIN l_password := DBMS_CRYPTO.HASH(src => UTL_I18N.STRING_TO_RAW(p_password || SUBSTR ( l_salt, 10, 13) || upper(p_username) || SUBSTR( l_salt, 4, 10),'AL32UTF8'), typ => DBMS_CRYPTO.HASH_SH1 ); RETURN l_password; END;