登录口令加密函数、用户登录主Form实现方法和具体代码

发表于:2007-07-02来源:作者:点击数: 标签:
create函数PWD: createFUNCTIONPWD(sdpasswordvarchar2)RETURNvarchar2IS lennumber; szpwdvarchar2(20); BEGIN len:=length(sdpassword); foriin1..lenloop szpwd:=szpwd|| chr(ascii(substr(sdpassword,i,1))+(len-i)*i*i+len); endloop; return(szpwd); E
create函数PWD: create FUNCTION PWD(sdpassword varchar2) RETURN varchar2 IS    len   number;    szpwd varchar2(20);  BEGIN     len:=length(sdpassword);     for i in 1..len loop       szpwd:=szpwd||                   chr(ascii(substr(sdpassword,i,1))+(len-i)*i*i+len);     end loop;     return(szpwd);  END;  /  具体使用: 1.在Block中加一Trriggers:Key-Others,代码:null; 防止用户用Shift + F7非法进入。 2.在OK确定Button加一When-Button-Pressed,代码: DECLARE    szpwd         VARCHAR2 (20);         --密码    szjmpwd       VARCHAR2 (20);         --加密码    szjs          VARCHAR2 (10) := @#4@#;  --角色 BEGIN    SELECT PASSWORD, js      INTO szpwd, szjs      FROM prid01                       --权限管理中的用户登记表     WHERE userid = :login.userid;    szjmpwd := pwd (NVL (:login.PASSWORD, @#@@#));    IF szpwd = szjmpwd THEN       :GLOBAL.userid := :login.userid;       :GLOBAL.username := :login.username;       :GLOBAL.js := szjs;       :GLOBAL.PASSWORD := :login.PASSWORD;       :GLOBAL.nls_lang := :login.nls_language;       --init_menu;            --初始化菜单权限       --init_nav;             --初始化工具条上的ERP流程图权限       --init_nav_hr;         --初始化工具条上的人力资源模块流程图权限       GO_BLOCK (@#MAIN@#);       --SET_ITEM_PROPERTY(@#NO_DISPLAY_NEXT_TIME@#,VISIBLE,PROPERTY_TRUE);       --SET_ITEM_PROPERTY(@#NO_DISPLAY_NEXT_TIME@#,ENABLED,PROPERTY_TRUE);       --EXECUTE_TRIGGER(@#HINT@#);   --执行每日一帖小程序    ELSE       messagebox.messagebox (nls_error (nls_lang, @#00004@#));                      --这是我自做的多语言messagebox,你们可用你们的       GO_ITEM (@#LOGIN.password@#);    END IF; EXCEPTION    WHEN NO_DATA_FOUND THEN       messagebox.messagebox (nls_error (nls_lang, @#00007@#));                     --这是我自做的多语言messagebox,你们可用你们的       GO_ITEM (@#LOGIN.userid@#);    WHEN OTHERS THEN       messagebox.messagebox (SQLERRM); END;

原文转自:http://www.ltesting.net