Upload files to "/"

This commit is contained in:
2026-05-08 13:15:51 +00:00
parent e3d9c06fda
commit 97eba38d29
4 changed files with 272 additions and 0 deletions

View 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;
/