数据库浮点数据加密方法与流程

文档序号:16469799发布日期:2019-01-02 23:00阅读:1815来源:国知局
数据库浮点数据加密方法与流程

本发明涉及数据库领域,具体涉及一种数据库浮点数据加密方法。



背景技术:

浮点型数据分为浮点型常量和浮点型变量,浮点型常量实型也称为浮点型。实型常量也称为实数或者浮点数。在c语言中,实数只采用十进制。它有二种形式:十进制数形式指数形式。

1.十进制数形式

由数码0~9和小数点组成。例如:0.0,.25,5.789,0.13,5.0,300.,-267.8230等均为合法的实数。

2.指数形式

由十进制数,加阶码标志“e”或“e”以及阶码(只能为整数,可以带符号)组成。其一般形式为aen(a为十进制数,n为十进制整数)其值为a*10,n如:2.1e5(等于2.1*10的5次方),3.7e-2(等于3.7*10的-2次方)0.5e7(等于0.5*10的7次方),-2.8e-2(等于-2.8*10的-2次方),以下不是合法的实数345(无小数点)e7(阶码标志e之前无数字)-5(无阶码标志)53.-e3(负号位置不对)2.7e(无阶码)

标准c允许浮点数使用后缀。后缀为“f”或“f”即表示该数为浮点数。如356f和356.是等价的。例2.2说明了这种情况:

voidmain()

{

printf("%f\n%f\n",356.,356f);

}

void指明main不返回任何值 利用printf显示结果 结束

浮点型变量:

实型变量分为两类:单精度型和双精度型,

其类型说明符为float单精度说明符,double双精度说明符。在turboc中单精度型占4个字节(32位)内存空间,其数值范围为3.4e-38~3.4e+38,只能提供七位有效数字。双精度型占8个字节(64位)内存空间,其数值范围为1.7e-308~1.7e+308,可提供16位有效数字。

实型变量说明的格式和书写规则与整型相同。

例如:floatx,y;(x,y为单精度实型量)

doublea,b,c;(a,b,c为双精度实型量)

实型常数不分单、双精度,都按双精度double型处理。

相互转换,标准4字节浮点型在计算机里存储方式如图1所示,ieee754标准中浮点数表示格式ieee规定的浮点数表示法是一种科学计数法,用符号(正或负)、指数和尾数来表示,底数被确定为2。也就是说浮点数被表示为尾数乘以2的指数次方再带上符号。下面以单精度浮点数为例来介绍浮点数的三个区域:符号域:符号域占1位,0表示正数,1表示负数。指数域:指数域共有8位,可表达的范围为:0~255。为能处理负指数,实际指数位存储在指数域中值减去一个偏移量(单精度为127,双精度为1023)。单精度浮点数的偏移量为127,故实际可表达的指数值的范围为-127~128。尾数域:尾数域共有23位。由于规范浮点数的小数点左侧必须为1,所以在保存尾数时,可以省略小数点前面这个1,从而腾出一个二进制位来保存更多的尾数。举例:比如对于单精度数而言,二进制的1001.101(对应于十进制的9.625)可以表达为1.001101×2^3,所以实际保存在尾数域中的值为00110100000000000000000,即去掉小数点左侧的1,并用0在右侧补齐。

现有技术的缺点在于:浮点数据的加密方式虽然是多样化的,但破解其加密都有一套固定的算法,所以只要之间足够任何加密均能被破解,使得数据安全存在隐患。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种数据库浮点数据加密方法,打破传统加密方式,采用无规则的加密方法,使得没有正确密码完全无迹可寻。

本发明的目的是通过以下技术方案来实现的:

一种数据库浮点数据加密方法,所述浮点数据按三个区域位的数据结构进行存储,即符号位、指数位和小数位,该浮点数据加密方法如下:

s1:将数据库分为若干单元数据库,同时配置一个编码器a,对每个单元数据库生成一个至少6位数的16进制编码;

s2:根据编码对单元数据库进行排序并将该编码作为该单元数据库的文件名,将需要加密的浮点数据进行编号,在每个单元数据库内存储一个需要加密的浮点数据,同时生成编号与文件名对应表;

s3:在每个单元数据库内设置至少n个依次排序的干扰浮点数据以及一个编码器b,其中n≥3,将需要加密的浮点数据按三个区域位拆分成三段字符,并按照编码器b生成的三个随机码将三段字符分别放置在干扰浮点数据所对应的区域位;

s4:将步骤s1中生成的16进制编码、步骤s2中生成的编号与文件名对应表、步骤s3中生成的的三个随机码作为解密数据保存在管理员;

s5:调用数据时,必需输入正确的加密数据存放文件名、代表三段字符的3个干扰数据才能调用有效数据进行解密使用。

作为本发明的进一步改进,所述数据库为开放式数据,任何人均可以访问,数据库界面设置有用于输入文件名和三个浮点数据的输入界面。

作为本发明的进一步改进,所述单元数据库在数据库中为匿名显示,不显示其16进制编码的文件名。

作为本发明的进一步改进,所述步骤s3中编码器b生成的编码数值1-n,将符号位、指数位和小数位所对应的字段按编码器b依次生成的编码数值放入对应的干扰浮点数据内。

作为本发明的进一步改进,所述步骤s4中的解密数据通过配置相应的数据采集模块实现数据的自动采集和自动上传。

作为本发明的进一步改进,所述步骤s5中当输入的文件名和3个干扰数据均正确时,服务器自动解码出加密的浮点数据。

作为本发明的进一步改进,所述步骤s5中每输错一次文件名或干扰数据则关闭输入界面。

作为本发明的进一步改进,所述输入界面关闭后需要管理员才能进行解密。

作为本发明的进一步改进,所述输入界面在限定时间内连续3次关闭则需要至少3位管理员同时解密才能解除其关闭状态。

作为本发明的进一步改进,所述步骤s1中生成的16进制编码、步骤s2中生成的编号与文件名对应表、步骤s3中生成的的三个随机码分别由3个不同的管理员管理。

本发明的有益效果是:和现有的具有固定加密算法规律的加密方式相比较,本方案采用无具体规则的编码器进行随机码生成,然后将一个浮点数据的三个部分分置在三个干扰数据中,然后在将这三个干扰数据放进一堆数据中进行打乱,在没有密码的情况下根本无法获知到底是哪几个干扰数据是存放的有效位数据,而且在输入密码识别以后就直接关闭输入界面,从而有效保证了数据安全。

附图说明

图1是浮点数据在数据库中的存储结构;

图2为单元数据库的结构示意图;

图3是一个浮点数据加密的过程示意图。

具体实施方式

下面结合具体实施例进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。

如图1所示,一种数据库浮点数据加密方法,所述浮点数据按三个区域位的数据结构进行存储,即符号位、指数位和小数位。

如图3所示,该浮点数据加密方法如下:

s1:将数据库分为若干单元数据库,同时配置一个编码器a,对每个单元数据库生成一个至少6位数的16进制编码,每个单元数据库的结构如图2所示。

s2:根据编码对单元数据库进行排序并将该编码作为该单元数据库的文件名,将需要加密的浮点数据进行编号,在每个单元数据库内存储一个需要加密的浮点数据,同时生成编号与文件名对应表,为了增加密码的可靠性,编码器a生成的编码位数在合理范围内越多越好。

s3:在每个单元数据库内设置至少n个依次排序的干扰浮点数据以及一个编码器b,其中n≥3,如图2所示,在单元数据库内放置有3个干扰浮点数据,显然的,放置的干扰浮点数据数量越多,其加密性越高,3个干扰浮点数据只是满足加密的最低条件,因为浮点数据是有3个字符段组成的,但是在其他的一些表示方式中,浮点数据的结构也被分为四个字符段,即阶符±、阶码e、数符±、尾数m,那么在这种数据结构的加密方式中则至少需要4个干扰浮点数据。本实施例还是以三个区域位的结构类型浮点数据进行说明,将需要加密的浮点数据按三个区域位拆分成三段字符,并按照编码器b生成的三个随机码将三段字符分别放置在干扰浮点数据所对应的区域位。

s4:将步骤s1中生成的16进制编码、步骤s2中生成的编号与文件名对应表、步骤s3中生成的的三个随机码作为解密数据保存在管理员,这三个数据即作为解密密码。

s5:调用数据时,必需输入正确的加密数据存放文件名、代表三段字符的3个干扰数据才能调用有效数据进行解密使用。

为了提高数据库的隐蔽性,数据库为开放式数据,任何人均可以访问(其效果类似于大隐隐于市),数据库界面设置有用于输入文件名和三个浮点数据的输入界面。同时为了不给破解者提供密码提示,单元数据库在数据库中为匿名显示,不显示其16进制编码的文件名。

步骤s3中编码器b生成的编码数值1-n,将符号位、指数位和小数位所对应的字段按编码器b依次生成的编码数值放入对应的干扰浮点数据内。例如单元数据库内放置有10个干扰数据,则编码器b生成的编码数值为1-10中的任意一个,根据生成的数值放置三个区域位,如果三次编码均为同一数字,则对应的干扰数据即为该加密数据。

作为一种实施例,步骤s4中的解密数据通过配置相应的数据采集模块实现数据的自动采集和自动上传。步骤s5中当输入的文件名和3个干扰数据均正确时,服务器自动解码出加密的浮点数据。步骤s5中每输错一次文件名或干扰数据则关闭输入界面,输入界面关闭后需要管理员才能进行解密。输入界面在限定时间内连续3次关闭则需要至少3位管理员同时解密才能解除其关闭状态。步骤s1中生成的16进制编码、步骤s2中生成的编号与文件名对应表、步骤s3中生成的的三个随机码分别由3个不同的管理员管理。

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1