📄 密程序数据库触发子.sql
字号:
Create or Replace Function ENCRYPT(Inpass In Varchar2,
IN_GH In Varchar2,
IN_SS In Varchar2) Return Varchar2 Is
bcs varchar2(20);
bcs1 number;
cs number;
jg number;
m_gh VARCHAR2(4);
m_mm VARCHAR2(20);
Begin
m_gh := IN_GH;
m_mm := INPASS;
cs := TO_NUMBER(IN_SS);
If cs <= 1 then
cs := 77;
end if;
bcs := substr(to_char(ascii(substr(m_gh, 1, 1))), 1, 2);
If bcs < '1' then
bcs := '7';
end if;
m_gh := substr(m_gh, 2);
Loop
EXIT WHEN nvl(length(m_gh), 0) = 0;
bcs := bcs || substr(to_char(ascii(substr(m_gh, 1, 1))), -1, 1);
m_gh := substr(m_gh, 2);
End loop;
Loop
EXIT WHEN nvl(length(m_mm), 0) = 0;
bcs := bcs || substr(to_char(ascii(substr(m_mm, 1, 1))), -1, 1);
m_mm := substr(m_mm, 2);
End loop;
bcs1 := to_number(bcs);
jg := cs * bcs1;
Loop
EXIT WHEN length(to_char(jg)) > 13;
jg := jg * cs;
End loop;
RETURN(IN_SS || substr(to_char(jg), 1, 14));
End;
select ENCRYPT('32132323','22','1') from dual;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -