本发明专利技术提供了一种数据加密方法,所述方法包括:根据预设字符库中字符与数值的映射关系,以字节为单位将待加密字符映射为第一预设进制的第一数值;将所述第一数值作为第二预设进制的数值而将所述第一数值转化为第三预设进制的第二数值,获得加密数据;其中,所述第二预设进制的基数介于所述第一预设进制的基数和所述第三预设进制的基数之间。本发明专利技术提供的数据加密方法,巧妙地利用不同进制之间的数学符号的包含关系进行进制转化,从而高效地实现了对待加密字符进行加密,且节省存储空间。本发明专利技术还提供了一种数据解密方法、数据加密装置以及数据解密装置。
【技术实现步骤摘要】
本专利技术涉及信息安全
,特别是涉及一种数据加密、解密方法和装置。
技术介绍
对数据进行加密是保护信息安全的有效技术手段,传统技术中已存在多种数据加密方法,比如 MD5 (Message Digest Algorithm5,消息摘要算法第五版)、PHP (HypertextPreprocessor,超文本预处理器)中的Mcrypt (—种加密扩展库)等,然而MD5是单向加密,不能解密还原,而PHP中的Mcrypt加密后不能直接显示出来或者显示乱码,不便查看和录入,而且配置繁琐等,传统的数据加密方法已难以满足快速发展的信息技术的安全需求。
技术实现思路
基于此,有必要针对上述问题,提供一种高效的可解密还原的数据加密、解密方法和装置。一种数据加密方法,所述方法包括:根据预设字符库中字符与数值的映射关系,以字节为单位将待加密字符映射为第一预设进制的第一数值;将所述第一数值作为第二预设进制的数值而将所述第一数值转化为第三预设进制的第二数值,获得加密数据;其中,所述第二预设进制的基数介于所述第一预设进制的基数和所述第三预设进制的基数之间。一种数据加密装置,所述装置包括:映射模块,用于根据预设字符库中字符与数值的映射关系,以字节为单位将待加密字符映射为第一预设进制的第一数值;加密模块,用于将所述第一数值作为第二预设进制的数值而将所述第一数值转化为第三预设进制的第二数值,获得加密数据;其中,所述第二预设进制的基数介于所述第一预设进制的基数和所述第三预设进制的基数之间。上述数据加密方法和装置,先将待加密字符映射为第一预设进制的第一数值,而由于第二预设进制的基数大于第一预设进制的基数,这样用来表示第一预设进制的数值的数学符号必然可以用来表示第二预设进制的部分数值,因此可将第一数值作为第二预设进制的数值而将第一数值转化为第三预设进制的第二数值,巧妙地利用不同进制之间的数学符号的包含关系进行进制转化,从而高效地实现了对待加密字符进行加密。而且由于第二预设进制的基数小于第三预设进制的基数,则最终获得的加密数据是用较高基数的进制表示的,可节省存储空间。一种数据解密方法,用于对根据上述的数据加密方法所获得的加密数据进行解密,所述数据解密方法包括:以预设位数为单位将第三预设进制的加密数据划分为一个或多个第一中间数值;所述预设位数为将一字节的第一预设进制的数值当作第二预设进制的数值而转化为第三进制的数值的位数;将所述第一中间数值转化为第二预设进制的第二中间数值;将所述第二中间数值作为第一预设进制的数值后,根据预设字库中数值与字符的映射关系将所述第二中间数值映射为字符,获得解密的字符;其中,所述第二预设进制的基数介于所述第一预设进制的基数和所述第三预设进制的基数之间。一种数据解密装置,用于对根据上述的数据加密装置所获得的加密数据进行解密,所述数据解密装置包括:加密数据划分模块、第一中间数值转化模块和解密模块;所述加密数据划分模块,用于以预设位数为单位将第三预设进制的加密数据划分为一个或多个第一中间数值;所述预设位数为将一字节的第一预设进制的数值当作第二预设进制的数值而转化为第三进制的数值的位数;所述第一中间数值转化模块,用于将所述第一中间数值转化为第二预设进制的第二中间数值;所述解密模块,用于将所述第二中间数值作为第一预设进制的数值后,根据预设字库中数值与字符的映射关系将所述第二中间数值映射为字符,获得解密的字符;其中,所述第二预设进制的基数介于所述第一预设进制的基数和所述第三预设进制的基数之间。上述数据解密方法和装置,由于第二预设进制的基数小于第三预设进制的基数,这样加密数据本身所占的存储空间少。而将第三预设进制的加密数据以预设位数为单位将第三预设进制的加密数据划分为一个或多个第一中间数值,再将第一中间数值转化为第二预设进制的第二中间数值,然后将该第二中间数值作为第一预设进制的数值后映射为字符,巧妙地利用不同进制之间的数学符号的包含关系进行进制转化,从而实现了高效地对采用上述数据加密方法获得的加密数据进行解密,使得加密数据是可以还原的。【附图说明】图1为一个实施例中数据加密方法的流程示意图;图2为一个具体实施例中数据加密方法的流程示意图;图3为另一个具体实施例中数据加密方法的流程示意图;图4为一个实施例中数据解密方法的流程示意图;图5为一个具体实施例中数据解密方法的流程示意图;图6为另一个具体实施例中数据解密方法的流程示意图;图7为一个实施例中数据加密装置的结构框图;图8为图7中的加密模块的一个实施例的结构框图;图9为一个实施例中数据解密装置的结构框图;图10为图7中的解密模块的一个实施例的结构框图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。除非上下文另有特定清楚的描述,本专利技术中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本专利技术并不对此进行限定。本专利技术中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组入口 ο如图1所示,在一个实施例中,提供了一种数据加密方法,该方法包括以下步骤:步骤102,根据预设字符库中字符与数值的映射关系,以字节为单位将待加密字符映射为第一预设进制的第一数值。预设字符库中预先设置了字符与数值的映射关系,预设字符库中预设的映射为的数值可以是第一预设进制的数值,这样可直接将待加密字符映射为第一预设进制的第一数值。预设字符库中预设的映射为的数值也可以是非第一预设进制的其它任意进制的数值,这样在将待加密字符映射为其它进制的第一数值后,可再对其进行进制转化而获得第一预设进制的第一数值。文中第一、第二、第三的描述用于区分不同的元件或概念。预设字符库可以是ASCII (American Standard Code for Informat1n Interchange,美国信息交换标准代码)编码表、扩展ASCII编码表、Unicode (统一码,是一种在计算机上使用的字符编码)编码表、或者UTF-8 (8_bit Unicode Transformat1n Format,是一种针对Unicode 的可变长度字符编码,又称万国码)编码表等。采用何种预设字符库可取决于用户需要和/或待加密数据中字符的种类。字符的种类比如是英文字符或汉字字符等。在一个实施例中,步骤102包括:根据预设字符库中字符与数值的映射关系,若待加密字符在预设字符库中映射的数值多于一个字节,则将映射的数值按字节进行分割,以获得第一预设进制的第一数值。计算机存储信息是按字节为单位的,一字节等于8位二进制数。在UTF-8编码表中,比如a?z,A?Z这样的英文字符为一个字节,而汉字则为三个字节。若待加密字符在预设字符库中映射的数值多于一个字节,则需要将映射的数值按字节进行分割,以获得第一预设进制的第一数值。这样获得的第一数值数据结构统一,便于计算,实现了对汉字加密的支持。比如,当第本文档来自技高网...
【技术保护点】
一种数据加密方法,所述方法包括:根据预设字符库中字符与数值的映射关系,以字节为单位将待加密字符映射为第一预设进制的第一数值;将所述第一数值作为第二预设进制的数值而将所述第一数值转化为第三预设进制的第二数值,获得加密数据;其中,所述第二预设进制的基数介于所述第一预设进制的基数和所述第三预设进制的基数之间。
【技术特征摘要】
【专利技术属性】
技术研发人员:李碧鸿,
申请(专利权)人:博雅网络游戏开发深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。