字符串加解密方法和装置制造方法及图纸

技术编号:11210963 阅读:63 留言:0更新日期:2015-03-26 20:27
本发明专利技术公开了一种字符串加解密方法及装置。字符串加解密方法包括:对明文字符串加密,得到密文字符串;将密文字符串存储在字典文件中;获取密文字符串的索引;以及根据密文字符串的索引从字典文件中调取密文字符串并对密文字符串进行解密。通过本发明专利技术,减少了字符串加解密方法中代码不匹配的情况发生。

【技术实现步骤摘要】
字符串加解密方法和装置
本专利技术涉及数据处理领域,具体而言,涉及一种字符串加解密方法和装置。
技术介绍
在代码中,往往会存在以明文形式出现的字符串,为了提高数据安全性,需要对字 符串进行加解密处理,在现有技术中,字符串加解密方法一般包括以下步骤: 步骤Sl :通过一种软件开发平台(Visual Studio,简称VS)工具扫描代码中所有 的明文字符串。 步骤S2 :将这些明文字符串替换为加密过后的密文字符串,并使用解密函数进行 包装。 步骤S3 :使用替换过后的密文字符串代码进行编译。 步骤S4 :还原被替换的明文字符串代码。 步骤S5 :程序在运行时,需要实时对密文字符串进行解密计算。 专利技术人发现,在上述的字符串加解密方法中,由于实际编译使用的是被替换过后 的临时代码,也即密文字符串,因而在调试时会出现与原始明文字符串代码不匹配的情况。 而且替换操作本身也存在风险,若出现错误,将可能造成原始明文字符串代码的丢失,恢复 困难。进一步地,由于应用程序需要实时对密文字符串进行解密,若调用频繁,会影响程序 的性能。另外,在多线程模式下,实时解密可能需要额外的加锁开销,进一步影响了程序的 性能,进而降低了客户端程序在加载过程中的安全性。 针对现有技术中客户端程序在加载过程中的安全性低的问题,目前尚未提出有效 的解决方案。
技术实现思路
本专利技术实施例的主要目的在于提供一种字符串加解密方法和装置,以解决现有技 术中字符串加解密方法容易出现代码不匹配的问题。 为了实现上述目的,根据本专利技术实施例的一个方面,提供了一种字符串加解密方 法。该字符串加解密方法包括:一种字符串加解密方法,其特征在于,包括:对明文字符串 加密,得到密文字符串;将密文字符串存储在字典文件中;获取密文字符串的索引;以及根 据密文字符串的索引从字典文件中调取密文字符串并对密文字符串进行解密。 为了实现上述目的,根据本专利技术实施例的另一方面,提供了一种字符串加解密装 置。该字符串加解密装置包括:加密单元,用于对明文字符串加密,得到密文字符串;存储 单元,用于将密文字符串存储在字典文件中;获取单元,用于获取密文字符串的索引;以及 解密单元,用于根据密文字符串的索引从字典文件中调取密文字符串并对密文字符串进行 解密。 通过本专利技术实施例,由于将密文字符串存储在字典文件中,并根据密文字符串的 索引从字典文件中调取密文字符串对密文字符串进行解密,无需对字符串进行替换,解决 了现有技术中的字符串加解密方法容易出现代码不匹配的问题,进而减少了字符串加解密 方法中代码不匹配的情况发生。 【附图说明】 构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实 施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中: 图1是根据本专利技术第一实施例的字符串加解密装置的示意图; 图2是根据本专利技术第二实施例的字符串加解密装置的示意图; 图3是根据本专利技术第三实施例的字符串加解密装置的示意图; 图4是根据本专利技术第四实施例的字符串加解密装置的示意图; 图5是根据本专利技术第五实施例的字符串加解密装置的示意图; 图6是根据本专利技术第一实施例的字符串加解密方法的流程图; 图7是根据本专利技术第二实施例的字符串加解密方法的流程图;以及 图8是根据本专利技术第三实施例的字符串加解密方法的流程图。 【具体实施方式】 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本专利技术。 为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的 附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范 围。 需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语第一、第 二等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用 的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例例如能够以除了在这里图 示或描述的那些以外的顺序实施。此外,术语包括和具有以及他们的任何变形,意图 在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不 必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方 法、产品或设备固有的其它步骤或单元。 另外,本专利技术的说明书和权力要求中装置的单元和模块的名称可以有多种 变换,比如加密单元可以称作用于加密明文字符串的单元也可以换做其他的名称,本 专利技术中所用的单元、模块的名称并不对本专利技术有不当限定。 本专利技术的实施例提供了一种字符串加解密装置。该字符串加解密装置用于对代码 中的字符串进行加解密处理。 图1是根据本专利技术第一实施例的字符串加解密装置的示意图。如图所示,该字符 串加解密装置包括加密单元10、存储单元20、获取单元30和解密单元40。 加密单元10用于对明文字符串加密,得到密文字符串。在客户端代码中,往往会 使用到很多常量字符串,这些字符串都会以明文形式出现在最终输出的二进制文件当中, 这些以明文形式出现的常量字符串为明文字符串。该明文字符串可以是基于VS开发平台 开发的C++代码中的字符串。 在本专利技术实施例中,以VS开发平台开发的C++代码中的明文字符串为例进行描 述,优选地,本专利技术实施例采用VS2010以后版本的VS开发环境开发的C++0x或者C++0x以 上标准的明文字符串。加密单元10将明文字符串加密成密文字符串可以先通过反射工具 扫描代码中的明文字符串并生成字典文件,再将该扫描出的明文字符串进行加密处理,得 到密文字符串。例如:如果代码中存在明文字符串Hello World,则对代码中的明文字符 串Hello World进行扫描,再对Hello World字符串进行加密处理,经过加密处理后的 明文字符串Hello World变成密文字符串HoWd,由于密文字符串HoWd不具有可读 性,因此加密后的密文字符串难以被破解。 在QQ封神榜等一系列的软件的程序文件中,通过打开DLL或者EXE等文件可以读 取程序中的代码,未加密的程序文件会很容易被破解,对软件厂家造成损失。例如在QQ封 神榜程序文件中会包含有用于表示游戏中人物的血量等代码,一些游戏外挂人员,通过读 取该段代码,并篡改该段代码对应的游戏中的人物血量值等,进行开挂作弊,损害了软件厂 家。通过对代码中明文字符串的加密增加程序的破解难度,有助于增强软件的安全性。 存储单元20用于将密文字符串存储在字典文件中。存储单元20将明文字符串加 密后得到的密文字符串存储在字典文件中,该字典文件可以是在加密明文字符串过程中自 动生成的字典文件,也可以是在加密前已经获取的字典文件。将密文字符串直接存储在字 典文件中,可以通过解密计算方法得到原始明文字符串,避免了在编译中用密文替换原始 明文字符时的操作风险,能够避免解密过程本文档来自技高网
...

【技术保护点】
一种字符串加解密方法,其特征在于,包括:对明文字符串加密,得到密文字符串;将所述密文字符串存储在字典文件中;获取所述密文字符串的索引;以及根据所述密文字符串的索引从所述字典文件中调取所述密文字符串并对所述密文字符串进行解密。

【技术特征摘要】
1. 一种字符串加解密方法,其特征在于,包括: 对明文字符串加密,得到密文字符串; 将所述密文字符串存储在字典文件中; 获取所述密文字符串的索引;W及 根据所述密文字符串的索引从所述字典文件中调取所述密文字符串并对所述密文字 符串进行解密。2. 根据权利要求1所述的字符串加解密方法,其特征在于,获取所述密文字符串的索 引包括: 将所述明文字符串转换为哈希值,所述哈希值用于索引所述密文字符串; 去除所述明文字符串;W及 通过获取所述哈希值获取所述密文字符串的索引。3. 根据权利要求1所述的字符串加解密方法,其特征在于, 在对明文字符串加密,得到密文字符串之后,所述字符串加解密方法还包括;对所述密 文字符串进行编译,得到可执行文件, 根据所述密文字符串的索引从所述字典文件中调取所述密文字符串并对所述密文字 符串进行解密包括:在所述可执行文件加载的过程中,将所述密文字符串解密到预先分配 好的缓冲区中。4. 根据权利要求1所述的字符串加解密方法,其特征在于,所述明文字符串为多个明 文字符串,其中: 对明文字符串加密,得到密文字符串包括:分别对所述多个明文字符串使用标记宏进 行标记;通过扫描所述标记宏收集所述多个明文字符串;对收集的所述多个明文字符串分 别进行加密,得到多个密文字符串, 将所述密文字符串存储在字典文件中包括:将加密后的所述多个密文字符串统一存储 在所述字典文件中。5. 根据权利要求1所述的字符串加解密方法,其特征在于, 在对明文字符串加密,得到密文字符串之前,所述方法还包括;通过lambda匿名函数 将所述明文字符串提升为静态常量, 在对明文字符串加密,得到密文字符串之后,所述方法还包括:通过连接器剔除所述静 态常量。6. -种字...

【专利技术属性】
技术研发人员:杨祖柯
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1