`
转自:makesure5
好莱坞谍战片相信大家或多或少看过吧,经典的有007系列,碟中谍系列,里面的间谍都会去破解一些密码登陆框已获得机密信息,而这些密码登陆框都具有基本的保安系统,即发现有人恶意尝试登陆,就会执行相应报警措施。而下面,我将介绍一款此类登陆框的山寨版,功能可是一个不少哦!
大家相信也做过密码登陆框,多数是用inputdlg,很简单实用,但是也存在缺点,首先就是密码直接裸露在外面,大家等
论坛和QQ就知道,密码一般是用其他符号替代,第2个就是扩展性太差,毕竟是系统自带的。因此,如果把密码登陆框做出GUI,上述缺点就能够得到解决,大飞哥的《
matlab GUI 设计学习手记》一书里面给了一个密码登陆框的例子,他提出的思想就是做一个类似于ATM取款机一样的密码登陆框,光标无法移动,只能删除,将edit的enable属性设置为inac
tive,通过对比密码信息excel里面的内容,来判断登陆是否正确,这样便可以不修改程序就能在外面修改密码,有利于编译为exe文件使用。也正是书中的ATM让我有了这个想法,至少我是有深刻印象的,ATM取款机连续输入3次密码错误,会有一定的保护措施,例如:锁卡,吞卡等。因此,我想设计的这个密码登陆框也得执行一定的措施来保护信息,起初我想的是通过matlab调用系统程序执行关机,可是,这个措施过于危险,要是我的桌面上有没有保存的文件且不是很危险了,得设计一个比较和谐一点的手段。
下面我简要介绍一下操作流程,密码登陆框的框架和大飞的差不多,只是简化了些,例如:我舍弃了用户名,只有密码,不支持多密码共存,只承认一个密码,这样便更接近ATM取款机的登陆框了。
保安系统这时便将启动,先调用摄像头,执行拍照命令,拍下的第一张相片自动以“theif1.jpg”存在目录文件夹下面,记住一定要是以英文名字命名图片,在使用matlab的过程中,能用英文表达的尽量用英文,matlab对中文的支持不是很完美,我试过用“小偷1.jpg”储存,但是发现最后,这个附件发不出去,改为英文后就可以了。大家不信可以去程序里改改试试。然后用你设立的邮件服务器(就是你自己新建一个邮箱,专门为密码框服务),编写一个标题,内容,以及将“theif1.jpg”以附件的形式发过去。当然这里要考虑一个有的朋友没有摄像头的情况,即用try catch语句,分2种情况,先执行有摄像头发附件,运行不了的话再执行第2种情况,没有摄像头,只发邮件内容,不发附件。
然后调用飞信接口,用你飞信好友的
手机号给你发一个短信,这个必须是对方给你密码才行(既然是朋友,这个小要求应该会答应的),接受手机号设立为你自己,短信内容自己再程序里去修改,由于matlab是用web函数登陆飞信接口,所以会弹出一个web的页面,而且页面上方会出现手机号,密码,以及飞信内容,这样是很危险的,意思泄露了手机密码信息,第2个是打草惊蛇,所以我设定一个程序,一旦这个网页打开,马上关掉它,就是一闪而过的样子,让别人不知道是什么回事,没有机会看到密码和短信内容。如果别人疯狂点击,疯狂犯错,且不是要发很多条短息给自己,这样就很烦了,所以,我只定义第3次出错为激发信号,其余的就不考虑了,但是当第3次以后,每输入错一次,摄像头就拍一次照,相片将以theif2.jpg,theif3.jpg,theif4.jpg,......依次类推,回去后检查文件夹便可获得更多的嫌疑人头像。
这个登录框可以说是简约不简单,外表上看不出有什么特殊的,关键在后台,装有保安系统的它立即飞跃一个层次,主要是实用,无论是建邮箱,发飞信,还是摄像头,我相信这大部分人应该都有吧。有的朋友也会说,要是我既没有摄像头,又不能上网怎么办?我说大哥,你这不是耍我吗?你把matlab当神啦,没有必要的硬件,软件编的再好也没治啊。
但是我要严重强调,这个登陆框虽能通用,但是不是你运行我程序就能用的,我把程序里有关我的信息都删掉了,你必须填上你自己的信息,例如:邮箱,手机号,密码,内容等等,凡是我打****的地方都是要填的内容,已经在后面标注过,请注意填写,并保证填写内容正确,有错误情况可以楼下跟帖。
`