软件加密系统及方法

文档序号:6642808阅读:568来源:国知局
专利名称:软件加密系统及方法
技术领域
本发明涉及一种加密系统及方法,尤其涉及一种软件加密系统及方法。
背景技术
加密一词来源以久,自从人们希望对自己私人的信息得到保护开始,就有了加密的概念。软件行业的加密是厂商为了保护软件开发的利润而采取的一种软件保护方式,加密的好坏直接影响到软件的销售。
目前,软件加密的基本方法有如下几种依赖硬件的加密方案,如软盘加密法、插卡加密法、软件锁加密法等;不依赖硬件的加密方案,如密码表加密、序列号加密、许可证加密等。
所有的带有附加硬件的加密方案都需考虑加密成本,尤其对于那些共享软件或价格本身就很低的软件来说,硬件加密成本可能比软件本身的售价还高,所以不能满足市场需求。而对于密码表加密及序列号加密,是采用安装号的软件安装模式,都具有易破解的特点,盗版者可通过盗用软件安装号或经过分析已安装在计算机硬盘里的各个程序来盗版。许可证加密是在软件安装或运行时,将对计算机检测所生成的特定指纹数据通过Internet、E-mail、电话、传真等方式发送到开发商那里,开发商再根据这个指纹反馈一个注册码或注册文件,只有得到这个注册码或注册文件并按软件要求的步骤在安装软件的计算机上完成注册方可使用。由于这个方法的买卖完全是通过网络来进行的,当用户得到软件后在完成注册工作前会有一段时间无法使用该软件,而且,当网络不通时,此工作就不能完成。

发明内容鉴于以上内容,有必要提供一种软件加密系统,其可以更有效的防止软件的盗版,减少加密成本。
鉴于以上内容,还有必要提供一种软件加密方法,其可以更有效的防止软件的盗版,减少加密成本。
本发明的较佳实施方式提供一种软件加密系统,其运行于一计算机中。该软件加密系统包括多个功能模块一接收模块,用于接收此计算机的网际协议(Internet Protocal,以下简称IP)地址、网卡地址及中央处理器(Central Processing Unit,以下简称CPU)地址的加密码;一撷取模块,用于撷取该计算机的IP地址、网卡地址及CPU地址;一加密模块,用于对撷取模块撷取到的地址进行加密运算,该加密算法与接收模块接收的加密码的加密算法一致;一验证模块,用于验证加密模块加密后得到的结果是否与接收模块接收的三个加密码之一符合;一安装模块,用于当验证模块验证结果符合时安装软件。
本发明的较佳实施方式还提供一种软件加密方法,该方法包括如下步骤(A)启动软件安装程序,接收计算机的IP地址、网卡地址、CPU地址的加密码;(B)判断是否能撷取到该计算机的IP地址;(C)若能撷取到IP地址,则对该IP地址用与上述接收的加密码相同的加密算法加密;(D)验证该IP地址加密运算后得到的结果是否与接收的加密码之一符合;(E)若符合,则安装软件。
其中,在步骤B中,若撷取不到IP地址,及在步骤D中,若验证IP地址加密运算后得到的结果与接收的三个加密码均不符合,则进入步骤(G)判断是否能撷取到该计算机的网卡地址;(H)若能得到网卡地址,则对该网卡地址用与上述接收的加密码相同的加密算法加密;(I)验证将该网卡地址加密运算后得到的结果是否与接收的加密码之一符合;若符合,则转入步骤E。
其中,在步骤G中,若撷取不到网卡地址,及在步骤I中,若验证网卡地址加密运算后得到的结果与接收的三个加密码均不符合,则进入步骤(J)判断是否能撷取到该计算机的CPU地址;(K)若能得到CPU地址,则对该CPU地址用与上述接收的加密码相同的加密算法加密;(L)验证将该CPU地址加密运算后得到的结果是否与接收的加密码之一符合;若符合,则转入步骤E。
其中,在步骤J中,若撷取不到CPU地址,及在步骤L中,若验证CPU地址加密运算后得到的结果与接收的三个加密码均不符合,则软件直接退出安装。
相较于现有技术,本发明软件加密系统及方法具有以下优点成本低,不需要对计算机内任何硬件或软件做任何改动,也无需额外添加任何设备或购买任何支持软件;简单方便,只需要在安装时接收加密信息,安装成功后,其运行时的验证只在计算机内部完成而不需要人工操作;加密性能强,当得不到某一信息或某一信息出错时,计算机会自行寻找另一信息,对其加密。

图1是本发明软件加密系统较佳实施方式的运行环境图。
图2是本发明软件加密系统较佳实施方式的功能模块图。
图3是本发明软件加密方法较佳实施方式的软件安装时加密的流程图。
图4是对安装好的软件进行验证的流程图。
具体实施方式参阅图1所示,是本发明软件加密系统较佳实施方式的运行环境图。该软件加密系统13运行于一计算机1中,该计算机1与一显示装置2相连。该显示装置2用于提供一用户使用界面。计算机1包括一网卡11及一CPU 12,其中,网卡11用于提供该计算机的网卡地址和IP地址,CPU 12用于提供该计算机的CPU地址。软件加密系统13包含多个功能模块,用于对软件安装时进行加密。
参阅图2所示,是本发明软件加密系统较佳实施方式的功能模块图。该软件加密系统13包括一接收模块130,用于接收用户输入的计算机的IP地址、网卡地址及CPU地址的加密码,此加密码是根据加密算法运算得到,该加密算法为首先,输入IP地址、网卡地址及CPU地址的字符串m_Str,取得其字符串长度m_length,将字符串m_Str的每个字符做运算,得到字符串中每个字符都运算过的字符串m_Str2,取m_Str2左边长度为m_length的字符串作为加密码;一撷取模块131,用于撷取该计算机的IP地址、网卡地址及CPU地址;一加密模块132,用于对撷取模块131撷取到的地址进行加密运算,其加密算法与上述接收模块130接收的加密码的加密算法一致;一验证模块133,用于验证加密模块132加密后的结果是否与接收模块130接收的加密码之一符合;一安装模块134,用于当验证模块133验证结果符合时安装软件。
参阅图3所示,是本发明软件加密方法较佳实施方式的软件安装时加密的流程图。首先,启动软件安装程序(步骤S100);接收模块130接收计算机的IP地址、网卡地址及CPU地址的三个加密码(步骤S101);撷取模块131判断是否能撷取到该计算机的IP地址(步骤S102);若能撷取到IP地址,则加密模块132对该IP地址进行加密运算(步骤S103);验证模块133验证上述IP地址加密运算后得到的结果与接收的三个加密码之一是否符合(步骤S104);若符合,则安装模块134安装软件(步骤S105);存储接收的三个加密码(步骤S106),结束流程。
其中,在步骤S102中,若撷取模块131撷取不到IP地址,及在步骤S104中,若验证模块133验证IP地址加密运算后得到的结果与接收的三个加密码均不符合,则撷取模块131判断是否能撷取到该计算机的网卡地址(步骤S107);若能撷取到网卡地址,则加密模块132对该网卡地址进行加密运算(步骤S108);验证模块133验证该网卡地址加密运算后得到的结果是否与接收的三个加密码之一符合(步骤S109);若符合,则转入步骤S105。
其中,在步骤S107中,若撷取模块131撷取不到网卡地址,及在步骤S109中,若验证模块133验证网卡地址加密运算后得到的结果与接收的三个加密码均不符合,则撷取模块131判断是否能撷取到该计算机的CPU地址(步骤S110);若能撷取到CPU地址,则加密模块132对该CPU地址进行加密运算(步骤S111);验证模块133验证该CPU地址加密运算后得到的结果是否与接收的三个加密码之一符合(步骤S112);若符合,则转入步骤S105。
其中,在步骤S110中,若撷取模块131不能撷取到CPU地址,及在步骤S112中,若验证模块133验证CPU地址加密运算后得到的结果与接收的三个加密码均不符合,则软件直接退出安装(步骤S113)。
参阅图4所示,是对安装好的软件进行验证的流程图。首先,启动软件运行程序(步骤S200);读取在启动软件安装程序时接收的三个加密码(步骤S201);判断是否能撷取到该计算机的IP地址(步骤S202);若能得到,则对该IP地址进行加密运算(步骤S203);验证该IP地址加密运算后得到的结果与在启动软件安装程序时接收的加密码之一是否符合(步骤S204);若符合,则软件运行(步骤S205),结束流程。
其中,在步骤S202中,若撷取不到IP地址,及在步骤S204中,若验证IP地址加密运算后得到的结果与在启动软件安装程序时接收的三个加密码均不符合,则判断是否能撷取到该计算机的网卡地址(步骤S206);若能得到,则对该网卡地址进行加密运算(步骤S207);验证该网卡地址加密运算后得到的结果与在启动软件安装程序时接收的加密码之一是否符合(步骤S208);若符合,则转入步骤S205。
其中,在步骤S206中,若当撷取不到网卡地址,及在步骤S208中,若验证网卡地址加密运算后得到的结果与在启动软件安装程序时接收的三个加密码均不符合,则判断是否能撷取到该计算机的CPU地址(步骤S209);若能得到,则对该CPU地址加密运算(步骤S210);验证该CPU地址加密运算后得到的结果是否与在启动软件安装程序时接收的加密码之一符合(步骤S211);若符合,则转入步骤S205。
其中,在步骤S209中,若撷取不到CPU地址,及在步骤S211中,若验证CPU地址加密运算后得到的结果与在启动软件安装程序时接收的三个加密码均不符合,则软件直接退出(步骤S212)。
权利要求
1.一种软件加密系统,用于对软件在安装时进行加密,其运行于一计算机中,其特征在于,该软件加密系统包括一接收模块,用于接收该计算机的网际协议地址、网卡地址及中央处理器地址的加密码;一撷取模块,用于撷取该计算机的网际协议地址、网卡地址及中央处理器地址;一加密模块,用于对撷取模块撷取到的地址进行加密运算,该加密算法与接收模块接收的加密码的加密算法一致;一验证模块,用于验证加密模块对撷取到的地址加密运算后得到的结果是否与接收模块接收的加密码之一相符合。
2.如权利要求1所述的软件加密系统,其特征在于,该软件加密系统还包括一安装模块,用于当验证模块验证撷取到的地址加密后的结果与接收模块接收的加密码之一符合时安装软件。
3.一种软件加密方法,用于对软件在安装时进行加密,其特征在于,该方法包括以下步骤启动软件安装程序;接收计算机的网际协议地址、网卡地址及中央处理器地址的加密码;判断是否能撷取到该计算机的网际协议地址;若能撷取到网际协议地址,则对该网际协议地址用与上述接收的加密码相同的加密算法加密;验证该网际协议地址加密运算后得到的结果是否与接收的三个加密码之一符合;若符合,则安装软件。
4.如权利要求3所述的软件加密方法,其特征在于,该方法还包括以下步骤若撷取不到网际协议地址或网际协议地址加密运算后得到的结果与接收的三个加密码均不符合,则判断是否能撷取到该计算机的网卡地址;若能得到网卡地址,则对该网卡地址用与上述接收的加密码相同的加密算法加密;验证该网卡地址加密运算后得到的结果是否与接收的三个加密码之一符合;若符合,则安装软件。
5.如权利要求4所述的软件加密方法,其特征在于,该方法还包括以下步骤若撷取不到网卡地址或网卡地址加密运算后得到的结果与软件在安装时接收的三个加密码均不符合,则判断是否能撷取到该计算机的中央处理器地址;若能得到中央处理器地址,则对该中央处理器地址用与上述接收的加密码相同的加密算法加密;验证该中央处理器地址加密运算后得到的结果是否与接收的三个加密码之一符合;若符合,则安装软件。
6.如权利要求5所述的软件加密方法,其特征在于,该方法还包括以下步骤若撷取不到中央处理器地址或中央处理器地址加密运算后得到的结果与接收的三个加密码均不符合,则软件退出安装。
全文摘要
本发明提供一种软件加密系统,其运行于一计算机中。该软件加密系统包括多个功能模块一接收模块,用于接收计算机的IP地址、网卡地址及CPU地址的加密码;一撷取模块,用于撷取该计算机的IP地址、网卡地址及CPU地址;一加密模块,用于对撷取模块撷取到的地址进行加密运算,该加密算法与接收模块接收的加密码的加密算法一致;一验证模块,用于验证加密模块加密后的结果与接收模块接收的三个加密码之一是否符合;一安装模块,用于当验证模块验证结果符合时安装软件。本发明还提供一种软件加密方法,其能够对软件进行动态加密和验证。利用本发明可以更有效的防止软件的盗版,减少加密成本。
文档编号G06F1/00GK1940801SQ20051010003
公开日2007年4月4日 申请日期2005年9月28日 优先权日2005年9月28日
发明者常春明, 周晔, 郑晓源, 高加万, 贺稳波, 陈云霞 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1