登录口令加密函数、用户登录主Form实现方法和具体代码
2024-07-21 02:05:32
供稿:网友
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;注册会员,创建你的web开发资料库,