⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 密程序数据库触发子.sql

📁 oracle 10g管理员管理数据库SQL,好资料!
💻 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 + -