密码可以输入空格,是怎么实现的

来源:百度知道 编辑:UC知道 时间:2024/05/30 23:19:40
我做得注册登录功能用jsp+sqlserver数据库,密码可以输入空格,但比如注册时密码为1个空格,登录时密码可以输入任意个空格,这是怎么回事。密码的数据库类型为varchar
我在有的网站试验过(密码可以输入空格的网站),人家的网站,注册时为1个空格,登录时也必须是一个空格
可是我并没有做
String password = new String(jPassword.getPassword()).trim;
处理啊,一开始就识别不出空格数,即使我注册时输入aaa和10个空格,登录时只需要输入aaa就可以进入

1、制作密码字符

(1)首先通过办工soft XP的“宋体-方正超大字符集”获取密码字符。单击“开始→所有程序→附件→系统工具→字符映射表”,打开窗口后在字体列表中选择“宋体-方正超大字符集”。随后拉动滚动条到“显示CJK扩展A”字符范围内(注:在窗口下方可以看到提示),选择并双击需要作为密码的字符,然后单击“复制”,将密码字符发送到剪贴板。

小提示:为保险起见,可以先将这些字符粘贴到记事本,确认系统无法显示它们。  

(2)打开需要设置密码的应用程序,将上述字符粘贴到密码框即可。例如可以将如图2所示的字符作为腾迅qq登陆密码,这样就不怕骇客监视你的屏幕,即使他启用密码查看soft所能看到的只是一串?号。

小提示:一些网站、论坛或邮箱并不支持使用此类字符文作为密码,此时不要使用上述方法来设置密码。

2、密码的管理

因为一般输入法无法直接输入CJK扩展字符,为方便使用,可以利用Word的超链接功能来存放或管理密码。首先从Word XP选择“宋体-方正超大字符集”并将密码字符粘贴到文档中。然后为该字符添加一个超链接,链接地址为腾迅QQ程序。这样下次需要更改腾迅QQ登陆密码时,只要在文档单击超链接即可启动腾迅qq,随后将这个密码字符粘贴到密码框即可。此外,应将此Word文档加密保存。

3、防止密码的反破译

为防止熟悉这种方法的人反破译,还可以利用系统自带的区位码输入法来输入系统字库没有编码的文字,这样即使选择“方正超大字符集”也无法正常显示密码(只显示为空格)。

(1)打开控制面板,双击“区域和语言选项”,单击“语言→详细信息”,在已安装的服务列表选择“简体中文(内码)”,单击“添加”,将其添加到输入法列表。

(2)在需要输入密码的地方,选择内码输入法,输入aaa1-affe之间的编码(如aaa2、aaa3、……),由于系统字库没有这些编码的字符,系统都是以空格显示。不过由于无法显示具体字符,要重新更改密码的时候比较麻烦,需要牢记当时输入的编码。

如果没有对输入的密码进行去掉前后空格的处理,那么,注册注册时有多少个空格,