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;