移动终端动态口令的生成方法、存储介质、电子设备及系统技术方案

技术编号:19702356 阅读:25 留言:0更新日期:2018-12-08 14:11
本发明专利技术公开了一种移动终端动态口令的生成方法、存储介质、电子设备及系统,涉及移动终端的动态口令开发领域。该方法步骤为:移动终端创建工具类,在工具类中设置算法、秘钥、密码位数和密码生成时间周期;生成动态口令时,移动终端获取当前时间,将当前时间整除密码生成时间周期,得到计算值;根据算法对计算值进行计算后得到校验值;将校验值进行数据交换和二进制转换后,得到交换值;根据交换值、算法、秘钥和密码长度,得到授权码,根据授权码生成动态口令。本发明专利技术生成动态口令时,不仅简化了生成动态口令的操作流程,而且显著提高了代码的复用性,进而提高了开发效率和代码质量。

【技术实现步骤摘要】
移动终端动态口令的生成方法、存储介质、电子设备及系统
本专利技术涉及移动终端的动态口令开发领域,具体涉及一种移动终端动态口令的生成方法、存储介质、电子设备及系统。
技术介绍
随着移动终端和互联网的的快速发展,互联网应用与移动终端之间的认证方式主要为动态口令认证方式,例如互联网应用对移动终端进行身份认证时,需要在互联网应用中输入正确的动态口令,互联网应用才会认证通过。动态口令的生成方法一般为:移动终端基于时间和密钥,并通过一定的算法生成一个不可预测的随机数字组合(即动态口令、每隔一段时间变换一次),以保证了身份认证的安全性。但是,上述动态口令的生成方法存在以下缺陷:基于时间和密钥生成动态口令的操作过程比较繁琐,而且每次生成动态口令都需要使用新的基本代码,代码的复用性较差,不利于项目的管理和代码结构的优化。进一步,每次使用新的代码会降低开发效率和代码质量,大量的新代码占用的移动终端的内存空间较大,降低了移动终端的工作质量。
技术实现思路
针对现有技术中存在的缺陷,本专利技术解决的技术问题为:如何使用通用代码多次生成动态口令,本专利技术生成动态口令时,不仅简化了生成动态口令的操作流程,而且显著提高了代码的复用性,进而提高了开发效率和代码质量。为达到以上目的,本专利技术提供的移动终端动态口令的生成方法,包括以下步骤:S1:移动终端创建工具类,在工具类中设置动态口令生成参数,动态口令生成参数包括算法、秘钥、密码位数和密码生成时间周期,转到S2;S2:移动终端将算法设置为外部静态常量后进行保存,保存形式为字符串,转到S3;S3:需要生成动态口令时,移动终端获取当前时间,将当前时间整除S1中的密码生成时间周期,得到计算值;根据S1中的算法对计算值进行计算后得到校验值;将校验值进行数据交换和二进制转换后,得到交换值,转到S4;S4:根据交换值、S1中的算法、秘钥和密码长度,得到授权码,根据授权码生成动态口令。本专利技术提供的存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时上述移动终端动态口令的生成方法。本专利技术提供的电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现移动终端动态口令的生成方法。本专利技术提供的移动终端动态口令的生成系统,包括设置于移动终端上的工具类创建模块、算法保存模块、动态口令生成初始化模块和动态口令生成模块;工具类创建模块用于:创建工具类,在工具类中设置动态口令生成参数,动态口令生成参数包括算法、秘钥、密码位数和密码生成时间周期,向算法保存模块发送算法保存信号;算法保存模块用于:将算法设置为外部静态常量后进行保存,保存形式为字符串,向动态口令生成初始化模块发送动态口令生成初始化信号;动态口令生成初始化模块用于:生成动态口令时,获取当前时间,将当前时间整除工具类创建模块中的密码生成时间周期,得到计算值;根据工具类创建模块的算法对计算值进行计算后得到校验值;将校验值进行数据交换和二进制转换后,得到交换值,向动态口令生成模块发送动态口令生成信号;动态口令生成模块用于:根据交换值、工具类创建模块的算法、秘钥和密码长度,得到授权码,根据授权码生成动态口令。与现有技术相比,本专利技术的优点在于:通过S1至S4可知,本专利技术通过在工具类中传入参数,来快速高效的生成动态口令,与现有技术中每次生成动态口令都需要使用新的基本代码,本专利技术生成动态口令时,只需要调用工具类通过工具类生成动态口令,不需要重新生成代码,不仅简化了生成动态口令的操作流程,而且显著提高了代码的复用性,进而提高了开发效率和代码质量。进一步,与现有技术中多次生成动态口令所产生的大量新代码相比,本专利技术的工具类的代码数量较少,进而显著较小移动终端的内存空间,提高了移动终端的工作质量。(2)参见S2可知,本专利技术的算法保存时为外部静态常量,即算法能够被其他文件所共享,算法保存后的类型为外部变量,即算法能够被其他文件所调用。因此,本专利技术的算法的通用性较强,便于移动终端的扩展,适于推广。(3)本专利技术通过C语言函数生成动态口令,C语言函数为移动终端的自带函数,因此动态口令的生成速度较快,提升了用户体验。附图说明图1为本专利技术实施例中移动终端动态口令的生成方法的流程图;图2为本专利技术实施例中电子设备的连接框图。具体实施方式以下结合附图及实施例对本专利技术作进一步详细说明。参见图1所示,本专利技术实施例中移动终端动态口令的生成方法,包括以下步骤:S1:移动终端创建一个继承于NSObject的DYSecretTool(工具类),在工具类中通过initWithSecret(构造函数)设置动态口令生成参数,动态口令生成参数包括算法、秘钥(只要是NSData都可以识别)、密码位数和密码生成时间周期。本实施例中密码位数为6位,密码生成时间周期为5S;实际应用时密码位数和密码生成时间周期根据具体需求而定,转到S2。S1的目的在于:通过在工具类中传入具体参数,来快速高效的生成动态口令,不仅简化操作流程,而且通过工具类生成动态口令时不需要重新生成代码,显著提高了代码的复用性。S2:移动终端将算法设置为外部静态常量(即能够共享的数据)后进行保存,保存形式为字符串。算法包括安全哈希算法1(@“SHA1”)、安全哈希算法256(@“SHA256”)、安全哈希算法5212(@“SHA5212”)和MD5算法(@“MD5”)中的至少1种;将算法申明为外部变量extern类型,以便被其他的文件所调用,进而提升算法的扩展性,转到S3。S3:需要生成动态口令时,移动终端获取当前时间,将当前时间整除S1中的密码生成时间周期,得到计算值。根据S1中的算法对计算值进行计算后得到校验值;调用交换字节函数将校验值进行数据交换、并进行二进制转换,得到交换值,转到S4。S4:根据交换值、S1中的算法、秘钥和密码长度,得到授权码(得到授权码的计算方式为本领域现有技术),根据授权码生成动态口令。本实施例中的移动终端为IOS移动终端,此时S4的具体流程为:定义一个IOS移动终端的CCHmacContext的类型的变量为ctx,根据交换值、S1中的算法、秘钥和密码长度,对ctx进行更新,得到授权码;通过C语言函数对授权码进行二进制转换后,生成动态口令。C语言函数为移动终端的自带函数,因此通过C语言函数生成动态口令时,生成速度较快,进而提升了用户体验。通过S1至S4可知,本专利技术实施例通过在工具类中传入参数,来快速高效的生成动态口令,与现有技术中每次生成动态口令都需要使用新的基本代码,本专利技术生成动态口令时,只需要调用工具类通过工具类生成动态口令,不需要重新生成代码,不仅简化了生成动态口令的操作流程,而且显著提高了代码的复用性,进而提高了开发效率和代码质量。进一步,与现有技术中多次生成动态口令所产生的大量新代码相比,本专利技术的工具类的代码数量较少,进而显著较小移动终端的内存空间,提高了移动终端的工作质量。本专利技术实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述移动终端动态口令的生成方法。需要说明的是,所述存储介质包括U盘、移动硬盘、ROM(Read-OnlyMemory,只读存储器)、RAM(RandomAccessMemory,随机存取存储器)、磁碟或者光盘本文档来自技高网...

【技术保护点】
1.一种移动终端动态口令的生成方法,其特征在于,该方法包括以下步骤:S1:移动终端创建工具类,在工具类中设置动态口令生成参数,动态口令生成参数包括算法、秘钥、密码位数和密码生成时间周期,转到S2;S2:移动终端将算法设置为外部静态常量后进行保存,保存形式为字符串,转到S3;S3:生成动态口令时,移动终端获取当前时间,将当前时间整除S1中的密码生成时间周期,得到计算值;根据S1中的算法对计算值进行计算后得到校验值;将校验值进行数据交换和二进制转换后,得到交换值,转到S4;S4:根据交换值、S1中的算法、秘钥和密码长度,得到授权码,根据授权码生成动态口令。

【技术特征摘要】
1.一种移动终端动态口令的生成方法,其特征在于,该方法包括以下步骤:S1:移动终端创建工具类,在工具类中设置动态口令生成参数,动态口令生成参数包括算法、秘钥、密码位数和密码生成时间周期,转到S2;S2:移动终端将算法设置为外部静态常量后进行保存,保存形式为字符串,转到S3;S3:生成动态口令时,移动终端获取当前时间,将当前时间整除S1中的密码生成时间周期,得到计算值;根据S1中的算法对计算值进行计算后得到校验值;将校验值进行数据交换和二进制转换后,得到交换值,转到S4;S4:根据交换值、S1中的算法、秘钥和密码长度,得到授权码,根据授权码生成动态口令。2.如权利要求1所述的移动终端动态口令的生成方法,其特征在于:S2中所述将算法设置为外部静态常量后进行保存之后,还包括以下步骤:将算法的类型设置为外部变量。3.如权利要求1或2所述的移动终端动态口令的生成方法,其特征在于:所述移动终端为IOS移动终端,S4的具体流程包括:定义一个IOS移动终端的CCHmacContext的类型的变量为ctx,根据交换值、S1中的算法、秘钥和密码长度,对ctx进行更新,得到授权码;通过C语言函数对授权码进行二进制转换后,生成动态口令。4.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至3任一项所述的方法。5.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:处理器执行计算机程序时实现权利要求1至3任一项所述的方法。6.一种移动终端动态口令的生成系统,其特征在于,该系统包括设置于移动终端上的工具类创建模块、算法保存模块、动态口令生成初始化模块和动态口令生成模块...

【专利技术属性】
技术研发人员:汪刚陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1