一种针对数值的加解密方法、装置以及存储介质制造方法及图纸

技术编号:33089415 阅读:11 留言:0更新日期:2022-04-15 10:59
本申请公开了一种针对数值的加解密方法和装置,加密方法包括:将待加密数据乘以10的M次方,得到第一整数值,对第一整数值进行字面字典互换,将字面字典互换后的第一整数值转化为第一二进制数据,M为0或自然数;产生随机数0或1,根据随机数对第一二进制数据进行二进制加密处理,得到第二二进制数据;在第二二进制数据的右侧添加验证位及算法位;将添加验证位及算法位后的结果转化为第二整数值,并除以10的M次方,转换为加密数值,得到加密后的结果。本申请将数值进行字典变换、随机二进制数据变换加密算法、添加数据验证位等多种手段,将原数值转化为另一个有效的数值便于使用和传输。在解密的过程中,将对加密数据进行验证以及反向操作,得到精度不变的原数值。得到精度不变的原数值。得到精度不变的原数值。

【技术实现步骤摘要】
一种针对数值的加解密方法、装置以及存储介质


[0001]本申请涉及计算应用
,特别是涉及一种针对数值的加解密方法和装置以及存储介质。

技术介绍

[0002]各大企业、政府部门的文稿公示或商业交流中,文档都是其必不可少的。由于信息化的发展,电子文档的存储、便携性、传递性等大大优于传统纸质文档,进而成为当前的热门选择。但是随之而来是文档的格式不统一性、重复性、难校验等问题,造成各企业部门对于繁杂的文档投入过多的人力资源。
[0003]在现有的信息系统中,数据库中往往会储存大量敏感的数据:比如员工的身份证号、员工最新的薪资和资金情况、与客户和供应商签定合同涉及的金额、各部门、各地区的经营情况等等。
[0004]对于这些敏感数据,企业往往会担心:
[0005]1、数据库管理员通过数据库查看全公司所有员工的工资水平及涨幅;
[0006]2、数据库管理员擅自修改自己或其它员工的工资或其它敏感数据;
[0007]3、数据库备份文件由于管理不善,被复制并泄漏敏感数据。
[0008]目前大部分的加密算法均针对字符类型,对数值类型数据使用此类加密算法,加密后的结果一般为类似于Base64编码的字符串而非数字。这个加密结果无法保存在原有的、以数值类型为基础的数据表字段中。
[0009]还有一些采取将值(加/减/乘/除)以某一个系数的方法来对数值进行加密,这类算法存在如下问题:
[0010]1、加密强度不足。数值通过简单运算即可还原原来的数值,易于破解;
[0011]2、数值通过加减乘除运行后,会改变数值的长度,特别是小数位的长度,造成加密后的数据由于长度超出原数据表设计的长度,使数值无法保存到数据表或无法精确还原的目的;
[0012]3、数值被数据库管理员篡改后无法察觉。
[0013]针对上述的现有技术中存在的技术问题,目前尚未提出有效的解决方案。

技术实现思路

[0014]本公开的实施例提供了一种针对数值的加解密方法和装置,以至少解决现有技术中存在的技术问题。本申请目的就是为了解决如下问题:
[0015]1、数值无法通过简单运算还原为未加密的数值。
[0016]2、数值加密后依然是数值。
[0017]3、支持整数和小数两种数值类型的加密。
[0018]4、加密后的数据总长度(字节数)变化较小,并且小数位位数不变,可避免保存到数据库时发生错误。
[0019]5、数值自带数据验证位,可避免数据被篡改。
[0020]根据本公开实施例的一个方面,提供了一种针对数值的加解密方法,包括:
[0021]将待加密数据乘以10的M次方,得到第一整数值,对所述第一整数值进行字面字典互换,将字面字典互换后的第一整数值转化为第一二进制数据,M为0或自然数;
[0022]产生随机数0或1,根据所述随机数对所述第一二进制数据进行二进制加密处理,得到第二二进制数据;
[0023]在所述第二二进制数据的右侧添加验证位及算法位;
[0024]将添加所述验证位及算法位后的结果转化为第二整数值,并除以10的所述M次方,转换为加密数值,得到加密后的结果。
[0025]根据本公开实施例的另一个方面,还提供了一种针对数值的解密方法,包括:
[0026]将待解密数据乘以10的M次方,得到第三整数值,将所述第三整数值转换为第三二进制数据,根据验证位验证所述第三二进制数据;
[0027]在所述验证通过后,获取所述第三二进制数据的算法位,并去除所述第三二进制数据中的验证位和算法位;
[0028]根据所述算法位对所述第三二进制数据进行二进制解密处理,得到第四二进制数据;
[0029]将所述第四二进制数据转换为第四整数值,并对所述第四整数值进行字面字典互换;
[0030]将所述字面字典互换后的第四整数值除以10的M次方,得到解密数值。
[0031]根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
[0032]根据本公开实施例的另一个方面,还提供了一种针对数值的加密装置,包括:
[0033]二进制转化模块,用于将待加密数据乘以10的M次方,得到第一整数值,对所述第一整数值进行字面字典互换,将字面字典互换后的第一整数值转化为第一二进制数据,M为0或自然数;
[0034]加密处理模块,用于产生随机数0或1,根据所述随机数对所述第一二进制数据进行二进制加密处理,得到第二二进制数据;
[0035]验证位和算法位添加模块,用于在所述第二二进制数据的右侧添加验证位及算法位;
[0036]加密数值获取模块,用于将添加所述验证位及算法位后的结果转化为第二整数值,并除以10的所述M次方,转换为加密数值,得到加密后的结果。
[0037]根据本公开实施例的另一个方面,还提供了一种针对数值的解密装置,包括:
[0038]数据验证模块,用于将待解密数据乘以10的M次方,得到第三整数值,将所述第三整数值转换为第三二进制数据,根据验证位验证所述第三二进制数据;
[0039]算法位获取模块,用于在所述验证通过后,获取所述第三二进制数据的算法位,并去除所述第三二进制数据中的验证位和算法位;
[0040]解密处理模块,用于根据所述算法位对所述第三二进制数据进行二进制解密处理,得到第四二进制数据;
[0041]整数值转化模块,用于将所述第四二进制数据转换为第四整数值,并对所述第四
整数值进行字面字典互换;
[0042]解密数值获取模块,用于将所述字面字典互换后的第四整数值除以10的M次方,得到解密数值。
[0043]根据本公开实施例的另一个方面,还提供了一种针对数值的加密装置,包括:
[0044]第一处理器;以及
[0045]第一存储器,与所述第一处理器连接,用于为所述第一处理器提供处理以下处理步骤的指令:
[0046]将待加密数据乘以10的M次方,得到第一整数值,对所述第一整数值进行字面字典互换,将字面字典互换后的第一整数值转化为第一二进制数据,M为0或自然数;
[0047]产生随机数0或1,根据所述随机数对所述第一二进制数据进行二进制加密处理,得到第二二进制数据;
[0048]在所述第二二进制数据的右侧添加验证位及算法位;
[0049]将添加所述验证位及算法位后的结果转化为第二整数值,并除以10的所述M次方,转换为加密数值,得到加密后的结果。
[0050]根据本公开实施例的另一个方面,还提供了一种针对数值的解密装置,包括:
[0051]第二处理器;以及
[0052]第二存储器,与所述第一处理器连接,用于为所述第一处理器提供处理以下处理步骤的指令:
[0053]将待解密数据乘以10的M次方,得到第三整数值,将所述第三整数值转换为第三二进制数据,根据验证位验证本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对数值的加密方法,其特征在于,包括:将待加密数据乘以10的M次方,得到第一整数值,对所述第一整数值进行字面字典互换,将字面字典互换后的第一整数值转化为第一二进制数据,M为0或自然数;产生随机数0或1,根据所述随机数对所述第一二进制数据进行二进制加密处理,得到第二二进制数据;在所述第二二进制数据的右侧添加验证位及算法位;将添加所述验证位及算法位后的结果转化为第二整数值,并除以10的所述M次方,转换为加密数值,得到加密后的结果。2.根据权利要求1所述的方法,其特征在于,所述字面字典互换的具体方式是:通过映射表的方式,对数字进行混淆,小数点不进行变换。3.根据权利要求1所述的方法,其特征在于,所述根据所述随机数对所述第一二进制数据进行二进制加密处理,包括:当所述随机数为0时,采用第一种二进制加密算法:对第一二进制数据进行异或运算,第一二进制数据中的第一位不参与运算;当所述随机数为1时,采用第二种二进制加密算法:对第一二进制数据进行两两交换。4.根据权利要求3所述的方法,其特征在于,所述两两交换时,根据第一二进制数据的长度的奇偶情况,加密不同的数据位;当第一二进制数据长度为奇数时,第一二进制数据从第2位开始,每两位之间进行数据交换;当第一二进制数据长度为偶数时,第一二进制数据从第3位开始,每两位之间进行数据交换。5.根据权利要求1

4任一项所述的方法,其特征在于,所述在所述第二二进制数据的右侧添加验证位,包括:当所述第二二进制数据中1的个数为奇数时,添加所述验证位的值为1;当所述第二二进制数据中1的个数为偶数时,添加所述验证位的值为0。6.根据权利要求5所述的方法,其特征在于,所述在所述第二二进制数据的右侧添加算法位,包括:当所述二进制加密处理为所述第一种二进制加密算法时,添加所述算法位的值为0;当所述二进制加密处理为所述第二种二进制加密算法时,添加所述算法位的值为1。7.一种针对数值的解密方法,其特征在于,包括:将待解密数据乘以10的M次方,得到第三整数值,...

【专利技术属性】
技术研发人员:蒋勋勋
申请(专利权)人:深圳市米软科技有限公司
类型:发明
国别省市:

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

1