Upload files to "/"
This commit is contained in:
42
fnc_26ai_default_password.sql
Normal file
42
fnc_26ai_default_password.sql
Normal file
@@ -0,0 +1,42 @@
|
||||
create or replace FUNCTION fnc_26ai_default_password RETURN VARCHAR2 IS
|
||||
v_letras VARCHAR2(52) := 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
|
||||
v_numeros VARCHAR2(10) := '0123456789';
|
||||
v_especiais VARCHAR2(20) := '@#$';
|
||||
v_senha VARCHAR2(50);
|
||||
v_final VARCHAR2(50);
|
||||
|
||||
-- Função interna para embaralhar caracteres
|
||||
FUNCTION shuffle(p_str VARCHAR2) RETURN VARCHAR2 IS
|
||||
v_tmp VARCHAR2(200);
|
||||
v_idx PLS_INTEGER;
|
||||
v_src VARCHAR2(200) := p_str;
|
||||
BEGIN
|
||||
WHILE LENGTH(v_src) > 0 LOOP
|
||||
v_idx := DBMS_RANDOM.VALUE(1, LENGTH(v_src)+1);
|
||||
v_tmp := v_tmp || SUBSTR(v_src, v_idx, 1);
|
||||
v_src := SUBSTR(v_src, 1, v_idx-1) || SUBSTR(v_src, v_idx+1);
|
||||
END LOOP;
|
||||
RETURN v_tmp;
|
||||
END;
|
||||
BEGIN
|
||||
DBMS_RANDOM.INITIALIZE(TRUNC(DBMS_RANDOM.VALUE * 100000));
|
||||
|
||||
-- 4 letras
|
||||
FOR i IN 1..4 LOOP
|
||||
v_senha := v_senha || SUBSTR(v_letras, TRUNC(DBMS_RANDOM.VALUE(1, LENGTH(v_letras)+1)), 1);
|
||||
END LOOP;
|
||||
|
||||
-- 2 números
|
||||
FOR i IN 1..2 LOOP
|
||||
v_senha := v_senha || SUBSTR(v_numeros, TRUNC(DBMS_RANDOM.VALUE(1, LENGTH(v_numeros)+1)), 1);
|
||||
END LOOP;
|
||||
|
||||
-- 1 especial
|
||||
v_senha := v_senha || SUBSTR(v_especiais, TRUNC(DBMS_RANDOM.VALUE(1, LENGTH(v_especiais)+1)), 1);
|
||||
|
||||
-- Embaralhar tudo
|
||||
v_final := shuffle(v_senha);
|
||||
|
||||
RETURN v_final;
|
||||
END;
|
||||
/
|
||||
Reference in New Issue
Block a user