一种基于程序自身的特征数字代码加密方法

文档序号:8339880阅读:247来源:国知局
一种基于程序自身的特征数字代码加密方法
【技术领域】
[0001]本发明涉及计算机软件领域,特别涉及一种基于程序自身的特征数字代码加密方法。
【背景技术】
[0002]出于安全或利益的考虑,程序执行时加上授权密码是必要的,一般的程序加密方法是将密码放在程序的某个地方,容易被破解者找到并修改,使加密失败。

【发明内容】

[0003]发明目的:针对上述现有技术存在的问题和不足,本发明的目的是提供一种基于程序自身的特征数字代码加密方法,降低了密码被发现、修改,使加密失败的风险,并且容易实现。
[0004]技术方案:为实现上述发明目的,本发明采用的技术方案为一种基于程序自身的特征数字代码加密方法,包括如下步骤:
[0005](I)接收用户在启动第二程序时输入的特征数字代码;所述第二程序为在第一程序内植入一组随机数和特征数字代码的计算方法后生成;
[0006](2)启动所述第二程序中的特征数字代码的计算方法,根据所述随机数计算所述第二程序自身的特征数字代码;
[0007](3)比较所述第⑴步骤中的特征数字代码和第⑴步骤中的特征数字代码,若相对应,则执行所述第二程序。
[0008]优选的,在所述步骤(I)之前,所述方法还包括如下步骤:
[0009](01)在所述第一程序内植入一组随机数和特征数字代码的计算方法后生成所述第二程序;
[0010](02)利用所述特征数字代码的计算方法,根据所述随机数计算所述第二程序自身的特征数字代码;
[0011](03)向目标用户发送所述第二程序和所述第二程序自身的特征数字代码。
[0012]优选的,所述步骤(03)为通过不同的路径向目标用户分别发送所述第二程序和所述第二程序自身的特征数字代码。
[0013]优选的,对应不同的目标用户,植入所述第一程序内的所述随机数不同和/或所述特征数字代码的计算方法不同。
[0014]有益效果:本发明基于程序自身的特征数字代码加密方法,被加密程序内不存在特征数字代码,破解者无法找到特征数字代码的明文,因而不能通过修改密码的方式破解程序。
【附图说明】
[0015]图1为本发明的原理图;
[0016]图2为本发明方法流程图;
[0017]图3为第一程序的代码片段;
[0018]图4为随机数植入第一程序的代码片段中后的程序代码片段;
[0019]图5为密码会话框。
【具体实施方式】
[0020]下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0021]本发明实施例提供了一种基于程序自身的特征数字代码加密方法。如图1所示,该方法包括:将被加密程序即第一程序P拷贝生成被被加密程序即第二程序P’,在P’内植入一组随机数和特征数字代码算法M,发行被加密程序P’和对应的特征数字代码A作为用户密码到目标用户的客户端。用户在客户端发行程序P’时,会被要求输入密码,用户输入特征数字代码A,而程序P’内植入的特征数字算法会计算自身的特征数字代码A’,当比较到用户输入密码A与自身的特征数字代码A’ 一致,则执行该程序,否则退出。
[0022]如图2所示,为基于程序自身的特征数字代码加密方法的具体步骤,包括:
[0023](I)接收用户在启动第二程序时输入的特征数字代码;第二程序为第一程序内植入一组随机数和特征数字代码的计算方法生成;
[0024](2)启动所述第二程序中的特征数字代码的计算方法,根据所述随机数计算所述第二程序自身的特征数字代码;
[0025](3)比较所述第⑴步骤中的特征数字代码和第⑵步骤中的特征数字代码,若相对应,则执行所述第二程序。
[0026]本发明中在所述步骤(I)之前,所述方法还包括如下步骤:
[0027](01)在第一程序内植入一组随机数和特征数字代码的计算方法后生成第二程序。本发明中可先将第一程序拷贝后在拷贝后的程序内植入一组随机数和特征数字代码的计算方法后生成第二程序。
[0028](02)利用特征数字代码的计算方法,根据随机数计算第二程序自身的特征数字代码;
[0029](03)向目标用户发送第二程序和第二程序自身特征数字代码。
[0030]需要说明的是,上述步骤(1)-(3) —般在用户的客户端执行,步骤(01)-(03) —般在服务器端执行。
[0031]为进一步增加安全性,步骤(03)中可通过不同的路径向目标用户分别发送所述第二程序和所述第二程序自身的特征数字代码。
[0032]另外,为避免不同用户相互之间获知彼此的密码,针对不同的目标用户,可在发送至不同目标用户的程序内设置不同的随机数和/或不同的特征数字代码的计算方法。
[0033]以下为本发明的一种具体应用场景:
[0034]图3为第一程序的代码片段:
[0035]随机数为:1BCO 32 47 70 07 OF 88 61 76 85 35 67 54 32 62
[0036]首先,将上述随机数植入第一程序的代码片段中;此时程序代码片段如图4所示:
[0037]接着,设计特征数字代码的计算方法M,同时将此算法植入上述的程序代码片段生成第二程序;
[0038]设上述矩阵元素为Bij, i = 0,1,…,m ; j = O, I,…,15 ;
[0039]定义算法M 公式 A = ( Σ (i+1) XNi) % 0x10000000000000000,
[0040]其中:i= 0,1,...,Ii^Ni=Bi0BilBi2-Bil5
[0041]%取余数算法,例如 N。= 4D5A90000300000004000000FFFF0000。
[0042]之后,发行第二程序,并根据特征数字代码的计算方法M计算该程序特征数字代码A ;
[0043]A = 3F467325E3F56E778DF8A81C67893F1B
[0044]紧接着从不同路径将第二程序和程序特征数字代码A发送给合法的目标用户。
[0045]用户启动程序第二程序,在输入密码会话框中填写程序特征数字代码A。如图5所示:
[0046]之后,启动第二程序中的特征数字代码的计算方法M,计算程序自身的特征数字代码A,;
[0047]A’ = 3F467325E3F56E778DF8A81C67893F1B
[0048]比较A = A’,如通过执行第二程序,否则退出。显然A’ = A,所以第二程序继续执行。
[0049]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种基于程序自身的特征数字代码加密方法,其特征在于,包括如下步骤: (1)接收用户在启动第二程序时输入的特征数字代码;所述第二程序为在第一程序内植入一组随机数和特征数字代码的计算方法后生成; (2)启动所述第二程序中的特征数字代码的计算方法,根据所述随机数计算所述第二程序自身的特征数字代码; (3)比较所述第(I)步骤中的特征数字代码和第(2)步骤中的特征数字代码,若相对应,则执行所述第二程序。
2.如权利要求1所述的基于程序自身的特征数字代码加密方法,其特征在于,在所述步骤(I)之前,所述方法还包括如下步骤: (01)在所述第一程序内植入一组随机数和特征数字代码的计算方法后生成所述第二程序; (02)利用所述特征数字代码的计算方法,根据所述随机数计算所述第二程序自身的特征数字代码; (03)向目标用户发送所述第二程序和所述第二程序自身的特征数字代码。
3.如权利要求1所述的基于程序自身的特征数字代码加密方法,其特征在于,所述步骤(03)为通过不同的路径向目标用户分别发送所述第二程序和所述第二程序自身的特征数字代码。
4.如权利要求1所述的基于程序自身的特征数字代码加密方法,其特征在于,对应不同的目标用户,植入所述第一程序内的所述随机数和/或所述特征数字代码的计算方法不同。
【专利摘要】本发明公开了一种基于程序自身的特征数字代码加密方法,包括如下步骤:被加密程序植入一组随机数,设计特征数字代码算法并植入被加密程序,发行被加密程序和对应的特征数字代码作为用户密码到用户端,用户启动程序在密码会话框输入密码,程序内植入的特征数字算法计算自身的特征数字代码,比较用户输入密码若一致通过执行否则退出。本发明降低了随程序携带密码被发现破解的风险。
【IPC分类】G06F21-12
【公开号】CN104657633
【申请号】CN201410645858
【发明人】江卫中, 苏宁, 徐青龙, 丁丽萍
【申请人】国家电网公司, 江苏省电力公司, 江苏省电力公司苏州供电公司
【公开日】2015年5月27日
【申请日】2014年11月12日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1