WEB密码安全输入控件

来源:互联网 发布:学校奖学金算法 编辑:程序博客网 时间:2024/04/30 22:09

       在没有使用ssl加密的系统中登录,登录的用户名和密码都是在网络中通过明文传送,安全性较低,可以使用插件形式对密码进行加密后再传送,使用键盘钩子拦截键盘输入内容,防止被其它工具记录,类似银行网银安全输入控件。

       为了保证每次加密的结果的不同(防止跨域提交或截取加密信息伪提交),每次加密的key的一部分由服务器端随机生成,在页面加载的时候由服务器端生成通过页面js脚本传递给密码输入控件,密码输入控件根据控件内置的密码和传入的密码进行加密(如DES),服务器接收后再进行解密得到原密码

          使用密码插件可以有效防止密码及关健信息在网络上被截取,导致账户密码丢失,保证服务器至用户端的安全传输。

       如插件中内置密码为abc,服务器端随机生成的密码为1346,那么插件在加密时即使用 abc1346密码对用户输入的密码进行加密,传输时数据被截取后只能获取的随机密码1346,而没有完整密码不能对加密的密文进行解密,而且加密的密文只对本次登录有效,而不能通过程序模拟登录,因为下一次的随机密码改变导致加密密文改变。有效保证登录的安全。

       如需破解加密的密码就需要破解登录插件内置密匙及加密算法,一方面增加了获取信息的成本,一定程度上提升密码的安全性。

          通过键盘钩子和随机密码防止重要信息被非法获取,不仅可用于用户名密码加密也可以用于其它需要加密的信息的录入

 html代码

<HTML><head></head><BODY><br /><br /><OBJECT id="pwd1" classid="clsid:57DA8346-C0C5-428F-A2B7-ED912C13D7FF" width="500" height="24"><param name="regsn" value="" /><param name="PasswordChar" value="#" /><param name="ukey" value="1234" /><param name="fontsize" value="14" /></OBJECT><OBJECT id="pwd2" classid="clsid:57DA8346-C0C5-428F-A2B7-ED912C13D7FF" width="500" height="20"><param name="regsn" value="" /><param name="PasswordChar" value="" /><param name="ukey" value="1234" /></OBJECT><br /><input type="button" value="获取加密密码" style="float:left;" onclick="mm1.value=pwd1.Value" /><input type="button" style="margin-left:500px;float:left;" value="获取加密密码2" onclick="mm2.value=pwd2.Value" /><br clear="both" /><input type="text" style="width:500px" id="mm1" /><input type="text" style="width:500px" id="mm2" /></BODY></HTML>


 

ekey 可以使用guid、时间等,不重复使用

服务器验证时用保存在session中的ekey进行密码解密,防止使用过期的ekey加密的信息登录


 

在线演示

http://d.iyanhong.com/demos/TSecInput/TSecInput.html

控件下载

http://download.csdn.net/detail/nxiaoping/7040931

原创粉丝点击