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);
END;
/
具体使用:
1.在Block中加一Trriggers:Key-Others,代码:null;防止用户用Shift+F7非法进入。
2.在OK确定Button加一When-Button-Pressed,代码:
DECLARE
szpwdVARCHAR2(20);--密码
szjmpwdVARCHAR2(20);--加密码
szjsVARCHAR2(10):='4';--角色
BEGIN
SELECTPASSWORD,js
INTOszpwd,szjs
FROMprid01--权限管理中的用户登记表
WHEREuserid=:login.userid;
szjmpwd:=pwd(NVL(:login.PASSWORD,'@'));
IFszpwd=szjmpwdTHEN
: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');
ENDIF;
EXCEPTION
WHENNO_DATA_FOUNDTHEN
messagebox.messagebox(nls_error(nls_lang,'00007'));
--这是我自做的多语言messagebox,你们可用你们的
GO_ITEM('LOGIN.userid');
WHENOTHERSTHEN
messagebox.messagebox(SQLERRM);
END;
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);
END;
/
具体使用:
1.在Block中加一Trriggers:Key-Others,代码:null;防止用户用Shift+F7非法进入。
2.在OK确定Button加一When-Button-Pressed,代码:
DECLARE
szpwdVARCHAR2(20);--密码
szjmpwdVARCHAR2(20);--加密码
szjsVARCHAR2(10):='4';--角色
BEGIN
SELECTPASSWORD,js
INTOszpwd,szjs
FROMprid01--权限管理中的用户登记表
WHEREuserid=:login.userid;
szjmpwd:=pwd(NVL(:login.PASSWORD,'@'));
IFszpwd=szjmpwdTHEN
: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');
ENDIF;
EXCEPTION
WHENNO_DATA_FOUNDTHEN
messagebox.messagebox(nls_error(nls_lang,'00007'));
--这是我自做的多语言messagebox,你们可用你们的
GO_ITEM('LOGIN.userid');
WHENOTHERSTHEN
messagebox.messagebox(SQLERRM);
END;
相关推荐
Linux系统中的口令加密函数及其应用.pdf
八成网站登录口令“裸身待缚” 电商类全军覆没,在用户口令传输过程中,仍然存在很多隐患。一般而言,用户在登录网站,输入用户名和密码之后,从用户电脑传输到网站服务器,会经过口令传输、口令存储认证等过程。而...
C#390-口令加密Exe源代码
QQ 2005贺岁版登录口令加密算法及其源代码
QQ 2005贺岁版登录口令加密算法及其源代码分析.doc
C#加密机制实例源码-口令加密Exe【201903】
【精品】2005贺岁版登录口令加密算法及其源代码0.doc
主要介绍了java动态口令登录实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
C#加密机制实例源码-口令加密Exe
C#391-口令加密RAR源代码
.NET版本口令加密BAT源码
C#写的使用加密口令加密可执行文件的软件 可以作为课程设计
C#389-口令加密BAT源代码
通过使用crunch生成字典密码,利用nmap扫描存活主机端口,最后利用Hydra破解用户口令
C#口令加密RAR完整源码
在vs2008下实现NTLM和LM哈希加密,包含MD4加密和DES加密函数
C#加密机制实例源码-口令加密Exe(0515).rar
PBE算法是对称加密算法的综合算法,常见算法PBEWithMD5AndDES,使用MD5和DES算法构建了PBE算法。将盐附加在口令上,通过消息摘要算法经过迭代获得构建密钥的基本材料,构建密钥后使用对称加密算法进行加密解密。 ...