登錄口令加密函數、用戶登錄主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開發資料庫,