论文部分内容阅读
摘 要 本软件采用Visual Studio 2012软件基于对话框的应用程序开发技术,通过算法产生“乱序键盘”。用户使用键值待定的“空键盘”,在一定程度上提高了系统的安全性。可应用于ATM机、账户登陆软件等各种需要用户输入密码的平台中。
关键词 ATM;触屏;密码登陆;VC;乱序键盘;安全性
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2013)15-0031-02
近年来,需要用户输入密码的登陆平台已经无处不在并且必不可少。该平台的实现并不困难,用户关心的除了界面的友好性,更多的则是安全性。以信用卡在ATM机系统中登陆为例,除了对存放用户密码等重要信息的数据库进行保护这最基本的手段外,一般机子都在键盘上安装了防护壳,以达到一定的防偷窥功能。但几乎所有的平台都采用固定键盘的形式。这就为不法分子在用户离开后,通过持卡人留在键盘上的痕迹获取密码创造了一种可能性。本文针对这一隐患提出了改进措施,即采用“乱序键盘”。而且随着触屏操作的逐渐普及,摆脱了硬件键盘,更适合于本软件的应用。如此,即使获取按键痕迹,也会因为每次按键代表的键值不一样而无法获知密码,达到了提高安全性的目的。
1 软件设计
1.1 随机数产生算法
C语言里,随机数的产生可以直接利用函数rand(),不过这样产生的随机数称为“伪随机数”。要产生真正的随机数,先用srand(time(NULL))函数,这样产生的随机数每次播的种子都不一样了。即产生了真正的随机数(详见C语言相关知识)。
1.2 界面设计
Microsoft Visual Studio是微软公司推出的开发环境,是最流行的Windows平台应用程序开发环境。其中MFC(Microsoft Foundation Classes)编程为用户提供了丰富的控件资源,基于对话框的设计即可方便地模拟出该过程,并且有良好的可视化界面,因此本文采用这种方法。
1.2.1 用于ATM机的模拟软件
Visual Studio 2012里用于对话框的控件非常丰富,这里用按钮模拟“空键盘”,用只读的编辑框模拟“乱序键盘”,该软件中,最大的特点在于:每一个数字键盘按钮开始都未表示固定的数字,而处于未具键值的待定阶段(称之为“空键盘”)。待乱序键盘产生后,空键盘键值与之空间上一一对应。图1是用于ATM模拟软件的操作界面。
为避免误操作,操作屏与硬件键盘最初为不可见。点击“产生乱序键盘”后,方可使用。“OK”键为确认,“Delete”键为撤销。任何时刻点击“产生乱序键盘”,均产生随机排列的0-9数字并显示在乱序键盘上。
图2是两次点击“产生乱序键盘”所产生的键值。
由图2可知,确实每一次的键值是随机的。这正是本文提出的“乱序键盘”提高安全性的所在。
1.2.2 用于触屏操作平台的模拟软件
产生随机数的算法一致,但是应用在触屏系统中,界面的设计就要做适当修改。这里由于没有硬件键盘,仍用按钮模拟按键,而不再需要编辑框模拟“乱序键盘”了。直接将固定键值的按键随机排列显示在屏幕上,效果更加凸显,应用更加方便。图3是用于触屏操作平台的模拟软件界面。
参考文献
[1]郑莉,董江舟.C++语言程序设计[M].北京:清华大学出版社,2010.
[2]马石安,魏文平.Visual C++程序设计与应用教程[M].北京:清华大学出版社,2011.
作者简介
毛川(1992-),浙江工业大学信息工程学院电气工程及其自动化专业在读学生。
关键词 ATM;触屏;密码登陆;VC;乱序键盘;安全性
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2013)15-0031-02
近年来,需要用户输入密码的登陆平台已经无处不在并且必不可少。该平台的实现并不困难,用户关心的除了界面的友好性,更多的则是安全性。以信用卡在ATM机系统中登陆为例,除了对存放用户密码等重要信息的数据库进行保护这最基本的手段外,一般机子都在键盘上安装了防护壳,以达到一定的防偷窥功能。但几乎所有的平台都采用固定键盘的形式。这就为不法分子在用户离开后,通过持卡人留在键盘上的痕迹获取密码创造了一种可能性。本文针对这一隐患提出了改进措施,即采用“乱序键盘”。而且随着触屏操作的逐渐普及,摆脱了硬件键盘,更适合于本软件的应用。如此,即使获取按键痕迹,也会因为每次按键代表的键值不一样而无法获知密码,达到了提高安全性的目的。
1 软件设计
1.1 随机数产生算法
C语言里,随机数的产生可以直接利用函数rand(),不过这样产生的随机数称为“伪随机数”。要产生真正的随机数,先用srand(time(NULL))函数,这样产生的随机数每次播的种子都不一样了。即产生了真正的随机数(详见C语言相关知识)。
1.2 界面设计
Microsoft Visual Studio是微软公司推出的开发环境,是最流行的Windows平台应用程序开发环境。其中MFC(Microsoft Foundation Classes)编程为用户提供了丰富的控件资源,基于对话框的设计即可方便地模拟出该过程,并且有良好的可视化界面,因此本文采用这种方法。
1.2.1 用于ATM机的模拟软件
Visual Studio 2012里用于对话框的控件非常丰富,这里用按钮模拟“空键盘”,用只读的编辑框模拟“乱序键盘”,该软件中,最大的特点在于:每一个数字键盘按钮开始都未表示固定的数字,而处于未具键值的待定阶段(称之为“空键盘”)。待乱序键盘产生后,空键盘键值与之空间上一一对应。图1是用于ATM模拟软件的操作界面。
为避免误操作,操作屏与硬件键盘最初为不可见。点击“产生乱序键盘”后,方可使用。“OK”键为确认,“Delete”键为撤销。任何时刻点击“产生乱序键盘”,均产生随机排列的0-9数字并显示在乱序键盘上。
图2是两次点击“产生乱序键盘”所产生的键值。
由图2可知,确实每一次的键值是随机的。这正是本文提出的“乱序键盘”提高安全性的所在。
1.2.2 用于触屏操作平台的模拟软件
产生随机数的算法一致,但是应用在触屏系统中,界面的设计就要做适当修改。这里由于没有硬件键盘,仍用按钮模拟按键,而不再需要编辑框模拟“乱序键盘”了。直接将固定键值的按键随机排列显示在屏幕上,效果更加凸显,应用更加方便。图3是用于触屏操作平台的模拟软件界面。
参考文献
[1]郑莉,董江舟.C++语言程序设计[M].北京:清华大学出版社,2010.
[2]马石安,魏文平.Visual C++程序设计与应用教程[M].北京:清华大学出版社,2011.
作者简介
毛川(1992-),浙江工业大学信息工程学院电气工程及其自动化专业在读学生。