登录口令加密函数、用户登录主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