• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 35
    • 下载费用:30 金币  

    重庆时时彩和值的奖金: 数据加密方法、解密方法及装置.pdf

    关 键 词:
    数据 加密 方法 解密 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201210515917.6

    申请日:

    2012.12.05

    公开号:

    CN103853985A

    公开日:

    2014.06.11

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 21/62申请日:20121205|||公开
    IPC分类号: G06F21/62(2013.01)I 主分类号: G06F21/62
    申请人: 中国移动通信集团黑龙江有限公司
    发明人: 赵洪松; 何鸿凌; 迟建德; 孙德志; 朱晨; 王广华; 苏燕; 王依兴; 张硕; 李杨
    地址: 150028 黑龙江省哈尔滨市松北区新湾路168号
    优先权:
    专利代理机构: 北京中誉威圣知识产权代理有限公司 11279 代理人: 郭振兴;丛芳
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201210515917.6

    授权公告号:

    ||||||

    法律状态公告日:

    2017.01.18|||2014.07.09|||2014.06.11

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明公开了一种数据加密方法及装置、数据解密方法及装置,该方法包括:获取敏感数据,判断所述敏感数据的数据类型属于字符型或数值型;若所述敏感数据的数据类型属于字符型,则提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据;若所述敏感数据的数据类型属于数值型,则将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据。本发明通过保留原数据格式的方式对数据进行加密,使得加密数据在数据存储系统中所需要的存储空间不变,减少了传统加密算法的系统开销和通讯开销。

    权利要求书

    权利要求书
    1.  一种数据加密方法,其特征在于,包括:
    获取敏感数据,判断所述敏感数据的数据类型属于字符型或数值型;
    若所述敏感数据的数据类型属于字符型,则提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据;
    若所述敏感数据的数据类型属于数值型,则将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据。

    2.  根据权利要求1所述的数据加密方法,其特征在于,所述若所述敏感数据的数据类型属于字符型,则提取所述敏感数据中的单个原始字符步骤包括:
    循环提取所述敏感数据的每一个字符,判断提取到的字符的类型属于中文字符、英文字符、数字字符或标点符号,提取中文字符、英文字符和数字字符为需要加密的单个原始字符。

    3.  根据权利要求1所述的数据加密方法,其特征在于,单个原始字符为中文字符时,所述中文字符的加密字符集为中文GB2312字符集。

    4.  根据权利要求1所述的数据加密方法,其特征在于,单个原始字符为英文字符或数字字符时,所述英文字符和数字字符的加密字符集为由英文和数字组成的集合。

    5.  根据权利要求1所述的数据加密方法,其特征在于,所述将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据步骤包括:
    将所述加密字符集划分为M块大小相等的分区域Am(1<=m<=M),指定分区域Am+1、Am+2分别为Am的主映射区和从映射区,A1、A2分别为AM的主映射区和从映射区;
    计算所述单个原始字符的GBK编码值在所述加密字符集中的第一偏移量NP,所述第一偏移量NP为所述单个原始字符的GBK编码值在所述分区域Am中高位偏移的位数;
    根据所述敏感数据的长度值与预设的第一密钥计算所述敏感数据的第一动态偏移量OP;
    根据所述第一偏移量NP和所述第一动态偏移量OP计算第二偏移量;
    根据所述第二偏移量,获取所述单个原始字符的GBK编码值在所述分区域Am的主映射区Am+1中对应的所述加密字符,所述敏感数据即转换为加密数据。

    6.  根据权利要求5所述的数据加密方法,其特征在于,所述根据所述敏感数据的长度值与预设的第一密钥计算所述敏感数据的第一动态偏移量OP步骤包括:
    计算所述敏感数据的第一动态偏移量OP,所述第一动态偏移量OP等于所述敏感数据的长度值与预设的第一密钥ASCII码值求和再对所述分区域的长度取模后所得的值。

    7.  根据权利要求5所述的数据加密方法,其特征在于,所述根据所述第一偏移量NP和所述第一动态偏移量OP计算第二偏移量步骤包括:
    计算所述单个原始字符对应的加密字符的第二偏移量,所述第二偏移量为所述第一偏移量NP与所述第一动态偏移量OP之和。

    8.  根据权利要求5所述的数据加密方法,其特征在于,所述根据所述第二偏移量,获取所述单个原始字符的GBK编码值在所述分区域Am的主映射区Am+1中对应的所述加密字符步骤包括:
    计算所述加密字符的编码位,获取所述加密字符,所述加密字符的编码位为从所述单个原始字符GBK编码值所在分区域Am的主映射区Am+1的头部开始偏移所述第二偏移量个位数后对应的编码位,该编码位所对应的字符即为所述加密字符。

    9.  根据权利要求1-8任一所述的数据加密方法,其特征在于,所述若所述敏感数据的数据类型属于数值型,则将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据步骤包括:
    将预设的第二密钥分为N组第一分密钥Sn(1<=n<=N),并计算每个第一分密钥的ASCII码值;
    计算所述敏感数据后N位前的数字之和str,将每个第一分密钥的ASCII码值加上str后生成N组第二分密钥SNn(0<=n<N));
    对所述敏感数据后N位中的每个原始数字和对应的第二分密钥SNn求和,再加上前一位数字,并经过数字对调和移位操作生成N位加密数字;
    所述敏感数据后N位前的原始数字和移位后的N位加密数字组合即获得所述加密数据。

    10.  一种数据加密装置,其特征在于,包括:
    第一数据类型判断???,用于获取敏感数据,判断所述敏感数据的数据类型属于字符型或数值型;
    字符加密???,用于若所述敏感数据的数据类型属于字符型,则提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据;
    数值加密???,用于若所述敏感数据的数据类型属于数值型,则将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据。

    11.  根据权利要求10所述的数据加密装置,其特征在于,所述字符加密??榛拱ǎ?BR>单个原始字符提取单元,用于循环提取所述敏感数据的每一个字符,判断提取到的字符的类型属于中文字符、英文字符、数字字符或标点符号,提取中文字符、英文字符和数字字符为需要加密的单个原始字符。

    12.  根据权利要求10所述的数据加密装置,其特征在于,单个原始字符为中文字符时,所述中文字符的加密字符集为中文GB2312字符集。

    13.  根据权利要求10所述的数据加密装置,其特征在于,单个原始字符为英文字符或数字字符时,所述英文字符和数字字符的加密字符集为由英文和数字组成的集合。

    14.  根据权利要求10所述的数据加密装置,其特征在于,所述字符加密??榘ǎ?BR>第一预设单元,用于将所述加密字符集划分为M块大小相等的分区域Am(1<=m<=M),指定分区域Am+1、Am+2分别为Am的主映射区和从映射区,A1、A2分别为AM的主映射区和从映射区;
    第一偏移量计算单元,用于计算所述单个原始字符的GBK编码值在所述加密字符集中的第一偏移量NP,所述第一偏移量NP为所述单个原始字符的GBK编码值在所述分区域Am中高位偏移的位数;
    第一动态偏移量计算单元,用于根据所述敏感数据的长度值与预设的第 一密钥计算所述敏感数据的第一动态偏移量OP;
    第二偏移量计算单元,用于根据所述第一偏移量NP和所述第一动态偏移量OP计算第二偏移量;
    字符加密单元,用于根据所述第二偏移量,获取所述单个原始字符的GBK编码值在所述分区域Am的主映射区Am+1中对应的所述加密字符,所述敏感数据即转换为加密数据。

    15.  根据权利要求14所述的数据加密装置,其特征在于,所述第一动态偏移量计算单元还用于:
    计算所述敏感数据的第一动态偏移量OP,所述第一动态偏移量OP等于所述敏感数据的长度值与预设的第一密钥ASCII码值求和再对所述分区域的长度取模后所得的值。

    16.  根据权利要求14所述的数据加密装置,其特征在于,所述第二偏移量计算单元还用于:
    计算所述单个原始字符对应的加密字符的第二偏移量,所述第二偏移量为所述第一偏移量NP与所述第一动态偏移量OP之和。

    17.  根据权利要求14所述的数据加密装置,其特征在于,所述字符加密单元还用于:
    计算所述加密字符的编码位,获取所述加密字符,所述加密字符的编码位为从所述单个原始字符GBK编码值所在分区域Am的主映射区Am+1的头部开始偏移所述第二偏移量个位数后对应的编码位,该编码位所对应的字符即为所述加密字符。

    18.  根据权利要求10-17任一所述的数据加密装置,其特征在于,所述数值加密??榘ǎ?BR>第一分密钥生成单元,用于将预设的第二密钥分为N组第一分密钥Sn(1<=n<=N),并计算每个第一分密钥的ASCII码值;
    第二分密钥生成单元,用于计算所述敏感数据后N位前的数字之和str,将每个第一分密钥的ASCII码值加上str后生成N组第二分密钥SNn(0<=n<N));
    加密数字生成单元,用于对所述敏感数据后N位中的每个原始数字和对应的第二分密钥SNn求和,再加上前一位数字,并经过数字对调和移位操作 生成N位加密数字;
    数字加密单元,用于所述敏感数据后N位前的原始数字和移位后的N位加密数字组合即获得所述加密数据。

    19.  一种数据解密方法,其特征在于,包括:
    获取加密数据,判断所述加密数据的数据类型属于字符型或数值型;
    若所述加密数据的数据类型属于字符型,则提取所述加密数据中的单个加密字符,根据解密字符集,将所述单个加密字符转换成原始字符,所述加密数据即转换为敏感数据;
    若所述加密数据的数据类型属于数值型,则将所述加密数据后N位加密数字转换成N位原始数字,所述加密数据即转换为所述敏感数据。

    20.  根据权利要求19所述的数据解密方法,其特征在于,所述若所述加密数据的数据类型属于字符型,则提取所述加密数据中的单个加密字符步骤包括:
    循环提取所述加密数据的每一个字符,判断提取到的字符的类型属于中文字符、英文字符、数字字符或标点符号,提取中文字符、英文字符和数字字符为需要解密的单个加密字符。

    21.  根据权利要求19所述的数据解密方法,其特征在于,所述根据解密字符集,将所述单个加密字符转换成原始字符步骤包括:
    将所述解密字符集划分为M块大小相等的分区域Am(1<=m<=M),指定分区域Am+1、Am+2分别为Am的主映射区和从映射区,A1、A2分别为AM的主映射区和从映射区;
    根据所述加密数据的长度值和预设的第一密钥计算所述加密数据的第二动态偏移量OP′;
    根据所述单个加密字符的编码位和所述第二动态偏移量OP′,计算第三偏移量NP′,所述第三偏移量NP′为所述单个加密字符对应的原始字符GBK编码在原分区域中高位偏移的位数;
    根据所述单个加密字符的编码位和所述第二动态偏移量OP′,获取所述原始字符的GBK编码所在原分区域的位置;
    根据所述原始字符的GBK编码所在的原分区域的位置和所述第三偏移量NP′获取所述原始字符。

    22.  根据权利要求21所述的数据解密方法,其特征在于,所述根据所述加密数据的长度值和预设的第一密钥计算所述加密数据的第二动态偏移量OP′步骤包括:
    计算所述加密数据的第二动态偏移量OP′,所述第二动态偏移量OP′等于所述加密数据的长度值与预设的第一密钥ASCII码值求和再对所述分区域的长度取模后所得的值。

    23.  根据权利要求21所述的数据解密方法,其特征在于,所述根据所述单个加密字符的编码位和所述第二动态偏移量OP′,计算第三偏移量NP′步骤包括:
    所述单个加密字符的编码位减去所述第二动态偏移量OP′后得到的临时编码位,所述第三偏移量NP′等于所述临时编码位在所在分区域中的高位偏移的位数。

    24.  根据权利要求21所述的数据解密方法,其特征在于,所述根据所述单个加密字符的编码位和所述第二动态偏移量OP′,获取所述原始字符的GBK编码所在原分区域的位置步骤包括:
    判断所述单个加密字符的编码位减去所述第二动态偏移量OP′后得到的临时编码位所对应的字符是否仍在所述单个加密字符所在的分区域Am中,若是则所述原始字符的GBK编码所在的原分区域为所述分区域Am-1,若否则所述原始字符的GBK编码所在的原分区域为所述分区域Am-2。

    25.  根据权利要求21所述的数据解密方法,其特征在于,所述根据所述原始字符的GBK编码所在的原分区域的位置和所述第三偏移量NP′获取所述原始字符步骤包括:
    所述原始字符的GBK编码为从所述原分区域的头部开始偏移所述第三偏移量NP′个位数后对应的字符,根据所述原始字符的GBK编码获取所述原始字符。

    26.  根据权利要求19-25任一所述的数据解密方法,其特征在于,所述若所述加密数据的数据类型属于数值型,则将所述加密数据后N位加密数字转换成N位原始数字,所述加密数据即转换为所述敏感数据步骤包括:
    获取所述加密数据的后N位加密数字,计算加密数字偏移量;
    根据所述加密数字偏移量,将所述加密数据的后N位加密数字向左偏移 得到偏移后的加密数据,获取偏移后的加密数据的后N位加密数字D[i];
    根据预设的第二密钥和偏移后的加密数据后N位之前的加密数字计算第三分密钥Sn[i](i<=N);
    根据所述第三分密钥Sn[i]和偏移后的加密数据的后N位加密数字D[i],计算获得N位所述原始数字;
    偏移后的加密数据后N位之前的数字与N位所述原始数字组合即获得所述敏感数据。

    27.  一种数据解密装置,其特征在于,包括:
    第二数据类型判断???,用于获取加密数据,判断所述加密数据的数据类型属于字符型或数值型;
    字符解密???,用于若所述加密数据的数据类型属于字符型,则提取所述加密数据中的单个加密字符,根据解密字符集,将所述单个加密字符转换成原始字符,所述加密数据即转换为敏感数据;
    数值解密???,用于若所述加密数据的数据类型属于数值型,则将所述加密数据后N位加密数字转换成N位原始数字,所述加密数据即转换为所述敏感数据。

    28.  根据权利要求27所述的数据解密装置,其特征在于,所述字符解密??榛拱ǎ?BR>单个加密字符提取???,用于循环提取所述加密数据的每一个字符,判断提取到的字符的类型属于中文字符、英文字符、数字字符或标点符号,提取中文字符、英文字符和数字字符为需要解密的单个加密字符。

    29.  根据权利要求27所述的数据解密装置,其特征在于,所述字符解密??榘ǎ?BR>第二预设单元,用于将所述解密字符集划分为M块大小相等的分区域Am(1<=m<=M),指定分区域Am+1、Am+2分别为Am的主映射区和从映射区,A1、A2分别为AM的主映射区和从映射区;
    第二动态偏移量计算单元,用于根据所述加密数据的长度值和预设的第一密钥计算所述加密数据的第二动态偏移量OP′;
    第三偏移量计算单元,用于根据所述单个加密字符的编码位和所述第二动态偏移量OP′,计算第三偏移量NP′,所述第三偏移量NP′为所述单 个加密字符对应的原始字符GBK编码在原分区域中高位偏移的位数;
    位置判断单元,用于根据所述单个加密字符的编码位和所述第二动态偏移量OP′,获取所述原始字符的GBK编码所在原分区域的位置;
    原始字符获取单元,用于根据所述原始字符的GBK编码所在的原分区域的位置和所述第三偏移量NP′获取所述原始字符。

    30.  根据权利要求29所述的数据解密装置,其特征在于,所述第二动态偏移量计算单元还用于:
    计算所述加密数据的第二动态偏移量OP′,所述第二动态偏移量OP′等于所述加密数据的长度值与预设的第一密钥ASCII码值求和再对所述分区域的长度取模后所得的值。

    31.  根据权利要求29所述的数据解密装置,其特征在于,所述第三偏移量计算单元还用于:
    计算所述单个加密字符的编码位减去所述第二动态偏移量OP′后得到的临时编码位,所述第三偏移量NP′等于所述临时编码位在所在分区域中的高位偏移的位数。

    32.  根据权利要求29所述的数据解密装置,其特征在于,所述位置判断单元还用于:
    判断所述单个加密字符的编码位减去所述第二动态偏移量OP′后得到的临时编码位所对应的字符是否仍在所述单个加密字符所在的分区域Am中,若是则所述原始字符的GBK编码所在的原分区域为所述分区域Am-1,若否则所述原始字符的GBK编码所在的原分区域为所述分区域Am-2。

    33.  根据权利要求29所述的数据解密装置,其特征在于,所述原始字符获取单元还用于:
    所述原始字符的GBK编码为从所述原分区域的头部开始偏移所述第三偏移量NP′个位数后对应的字符,根据所述原始字符的GBK编码获取所述原始字符。

    34.  根据权利要求27-33任一所述的数据解密装置,其特征在于,所述数值解密??榘ǎ?BR>第一计算单元,用于获取所述加密数据的后N位加密数字,计算加密数字偏移量;
    第二计算单元,用于根据所述加密数字偏移量,将所述加密数据的后N位加密数字向左偏移得到偏移后的加密数据,获取偏移后的加密数据的后N位加密数字D[i];
    第三分密钥生成单元,用于根据预设的第二密钥和偏移后的加密数据后N位之前的加密数字计算第三分密钥Sn[i](i<=N);
    原始数字生成单元,用于根据所述第三分密钥Sn[i]和偏移后的加密数据的后N位加密数字D[i],计算获得N位所述原始数字;
    数字解密单元,用于偏移后的加密数据后N位之前的数字与N位所述原始数字组合即获得所述敏感数据。

    说明书

    说明书数据加密方法、解密方法及装置
    技术领域
    本发明涉及数据处理领域,尤其涉及一种数据加密方法、解密方法及装置。 
    背景技术
    随着计算机技术的发展,人们普遍使用计算机进行数据的存储、传输。但不少存储传输的数据具有保密要求,因此需要对存储、传输的数据进行加密。例如,电信运行客户敏感数据信息的安全性一直是客户和运营商共同关注的问题,一旦客户的敏感数据被意外修改或泄漏,将会造成客户隐私信息被滥用,给运营商的业务收入、企业形象、客户满意度等带来重大影响,甚至影响社会稳定,造成难以估量的损失。 
    目前电信运营商都存储了海量的客户敏感数据,传统技术中对客户敏感数据采用的是DES加密方法,系统开销大,通讯开销成本较高。比如对客户姓名使用RC2算法加密后,数据长度由原来的8位变为64位,需要对数据库字段进行扩位,大大增加了系统开销。由于使用该算法,需要额外增加存储空间,且数据加密脱敏是在数据提取-转换-加载(Extraction-Transformation-Loading,简称ETL)过程中完成的,严重影响了数据入库的速度。 
    发明内容
    为了解决现有技术中数据加密后,系统开销大,通讯开销成本高的技术问题,本发明提出一种数据加密方法及装置、数据解密方法及装置。 
    本发明的一个方面,提供一种数据加密方法,包括: 
    获取敏感数据,判断所述敏感数据的数据类型属于字符型或数值型; 
    若所述敏感数据的数据类型属于字符型,则提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据; 
    若所述敏感数据的数据类型属于数值型,则将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据。 
    本发明的另一个方面,提供一种数据加密装置,包括: 
    第一数据类型判断???,用于获取敏感数据,判断所述敏感数据的数据类型属于字符型或数值型; 
    字符加密???,用于若所述敏感数据的数据类型属于字符型,则提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据; 
    数值加密???,用于若所述敏感数据的数据类型属于数值型,则将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据。 
    本发明的另一个方面,提供一种数据解密方法,包括: 
    获取加密数据,判断所述加密数据的数据类型属于字符型或数值型; 
    若所述加密数据的数据类型属于字符型,则提取所述加密数据中的单个加密字符,根据解密字符集,将所述单个加密字符转换成原始字符,所述加密数据即转换为敏感数据; 
    若所述加密数据的数据类型属于数值型,则将所述加密数据后N位加密数字转换成N位原始数字,所述加密数据即转换为所述敏感数据。 
    本发明的另一个方面,提供一种数据解密装置,包括: 
    第二数据类型判断???,用于获取加密数据,判断所述加密数据的数据类型属于字符型或数值型; 
    字符解密???,用于若所述加密数据的数据类型属于字符型,则提取所述加密数据中的单个加密字符,根据解密字符集,将所述单个加密字符转换成原始字符,所述加密数据即转换为敏感数据; 
    数值解密???,用于若所述加密数据的数据类型属于数值型,则将所述加密数据后N位加密数字转换成N位原始数字,所述加密数据即转换为所述敏感数据。 
    本发明的数据加密方法及装置、数据解密方法及装置,根据敏感数据数据类型的不同,分别通过两种不同的加密方法对敏感数据进行加密,使得敏感数据转换成加密数据。由于无论是字符型或数值型的敏感数据,在转换时 是对单个原始字符或原始数字进行对应的转换,且该数据加密方法可逆。因此转换后的加密数据保留了敏感数据的格式,长度不变,加密数据在数据存储系统中所需要的存储空间不变,因此既减少了传统加密算法的系统开销和通讯开销,又提高了加密数据在做数据关联操作时的准确性,传统加密算法加密后的数据由于格式发生了变化,在进行数据关联操作时会发生数据缺失。 
    附图说明
    图1为本发明数据加密方法第一实施例的流程图; 
    图2为本发明数据加密方法第一实施例中提取单个原始字符的流程图; 
    图3为本发明数据加密方法第二实施例的流程图; 
    图4为第一个单元编码区间示意图; 
    图5为GBK中文字符集示意图; 
    图6为数据加密方法第二实施例中m字符的加密过程示意图; 
    图7为本发明数据加密方法第三实施例的流程图; 
    图8为本发明数据加密装置第一实施例的结构示意图; 
    图9为本发明数据加密装置第二实施例的结构示意图; 
    图10为本发明数据加密装置第三实施例的结构示意图; 
    图11为本发明数据解密方法第一实施例的流程图; 
    图12为本发明数据解密方法第一实施例中提取单个加密字符的流程图; 
    图13为本发明数据解密方法第二实施例的流程图; 
    图14为本发明数据解密方法第二实施例中步骤S510的流程图; 
    图15为本发明数据解密方法第三实施例的流程图; 
    图16为本发明数据解密装置第一实施例的结构示意图; 
    图17为本发明数据解密装置第二实施例的结构示意图; 
    图18为本发明数据解密装置第二实施例的结构示意图。 
    具体实施方式
    图1为本发明数据加密方法第一实施例的流程图,如图1所示,本发明实施例所提供的数据加密方法由数据存储系统中的数据加密装置执行,在保留原有格式的情况下对数据存储系统中存储的敏感数据进行加密脱敏,加密 后的数据所需的存储空间和原本敏感数据所需的存储空间大小相同,从而降低了系统开销和通讯成本,数据加密装置可以采用软件和/或硬件的形式来实现,该方法包括: 
    步骤S100,获取敏感数据; 
    步骤S102,判断所述敏感数据的数据类型属于字符型或数值型,若属于字符型则进入步骤S104,属于数值型则进入步骤S106; 
    数据加密装置从数据存储系统中获取敏感数据,获取的方法有多种,例如通过数据库查询语句获取,敏感数据是指有保密需求的数据。根据敏感数据在数据存储系统中的属性,判断敏感数据的数据类型属于字符型或数值型。 
    步骤S104,提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据; 
    若该敏感数据的数据类型为字符型,则提取该敏感数据中的单个原始字符。单个原始字符是指敏感数据中需要做加密处理的单个字符,例如电信营业商客户的客户姓名属于敏感数据,则单个原始字符即为每一位客户的客户姓名中的单个汉字,例如客户姓名为“张三”,则单个原始字符为“张”和“三”。 
    将每个单个原始字符转换成加密字符集中的加密字符。加密字符集为预设的字符集合,而加密字符为加密字符集中的字符。单个原始字符通过一定的对应关系,对应到加密字符集中的加密字符。然后将每个加密字符按照单个原始字符在敏感数据中的顺序进行组合,敏感数据即转换为加密数据。例如“张”和“三”在预设的加密字符集中对应的加密字符分别为“钨”和“偮”,则敏感数据“张三”即转换为加密数据“钨偮”。 
    在优选的实施例中,单个原始字符为中文字符时,所述中文字符的加密字符集为中文GB2312字符集。 
    在优选的实施例中,单个原始字符为英文字符或数字字符时,所述英文字符和数字字符的加密字符集为由英文和数字组成的集合。 
    步骤S106,将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据。 
    若该敏感数据的数据类型为数值型,敏感数据后N位之前的原始数字保留不做转换操作,提取敏感数据的后N位原始数字,转换为N位与原始数字不同的加密数字。未作加密的后N位之前的原始数字和加密后的N位加密数 字组合即为加密数据。在优选实施例中,N等于4。例如,电话号码13811111111,保留后4位之前的原始数字“1381111”不变,对后4位原始数字“1111”做加密处理,转换为4位加密数字“9876”,再将“1381111”和“9876”进行组合,得到加密数据“13811119876”。 
    本实施例的技术方案中,数据加密装置从数据存储系统中获取敏感数据,根据敏感数据数据类型的不同,分别通过两种不同的加密方法对敏感数据进行加密,使得敏感数据转换成加密数据。由于无论是字符型或数值型的敏感数据,在转换时是对单个原始字符或原始数字进行对应的转换,因此转换后的加密数据保留了敏感数据的格式,长度不变,加密数据在数据存储系统中所需要的存储空间不变,因此既减少了传统加密算法的系统开销和通讯开销,又提高了加密数据在做数据关联操作时的准确性,传统加密算法加密后的数据由于格式发生了变化,在进行数据关联操作时会发生数据缺失。 
    进一步地,图2为本发明数据加密方法第一实施例中提取单个原始字符的流程图,如图2所示,具体包括: 
    步骤S1042,循环提取所述敏感数据的每一个字符; 
    步骤S1044,判断提取到的字符的类型属于中文字符、英文字符、数字字符或标点符号; 
    步骤S1046,提取中文字符、英文字符和数字字符为需要加密的单个原始字符。 
    数据加密装置获取到敏感数据后,循环提取敏感数据中的每一个字符ch,判断提取到的字符ch的属性属于中文字符、英文字符、数字字符或标点符号,若为标点符号,则保留不做加密处理,若为其他则作为需要加密的单个原始字符。 
    由于敏感数据中可能存在不同类型的字符,而不同类型字符的加密方法不同,通过循环提取每一个单个原始字符,判断其字符属性,使得数据加密装置可以根据不同的字符属性确定加密方法,提高敏感数据加密的处理效率。 
    图3为本发明数据加密方法第二实施例的流程图,如图3所示,该实施例的执行主体为数据加密装置,该方法包括: 
    步骤S200,获取敏感数据; 
    步骤S202,判断所述敏感数据的数据类型属于字符型或数值型,若属于 字符型则进入步骤S204,若属于数值型则进入步骤S214; 
    步骤S204,将所述加密字符集划分为M块大小相等的分区域Am(1<=m<=M),指定分区域Am+1、Am+2分别为Am的主映射区和从映射区,A1、A2分别为AM的主映射区和从映射区; 
    在优选的实施例中,单个原始字符为中文字符时,所述中文字符的加密字符集为中文GB2312字符集。 
    在优选的实施例中,单个原始字符为英文字符或数字字符时,所述英文字符和数字字符的加密字符集为由英文和数字组成的集合。 
    在优选的实施例中,加密字符集被划分为三块大小相等的分区域A1、A2和A3,其中A1的主映射区为A2,从映射区为A3;A2的主映射区为A1,从映射区为A3;A3的主映射区为A1,从映射区为A2。 
    步骤S206,计算所述单个原始字符的GBK编码值在所述加密字符集中的第一偏移量NP,所述第一偏移量NP为所述单个原始字符的GBK编码值在所述分区域Am中高位偏移的位数; 
    获取加密字符集中与单个原始字符的GBK编码值相同的字符,计算该字符在其所在分区域中高位偏移的位数,即为该单个原始字符的GBK编码值的第一偏移量NP。 
    步骤S208,根据所述敏感数据的长度值与预设的第一密钥计算所述敏感数据的第一动态偏移量OP; 
    在优选的实施例中,敏感数据的第一动态偏移量OP等于所述敏感数据的长度值与预设的第一密钥ASCII码值求和再对所述分区域的长度取模后所得的值。 
    在优选的实施例中,预设的第一密钥可以为系统生成的16位字符串,由大小写英文字母、数字组成。生成方法如下:由JAVA原生方法生成一串随机的UUID编号,截取前八位、十到十三位、十五到十八位叠加组合成的一串16位密钥。 
    步骤S210,根据所述第一偏移量NP和所述第一动态偏移量OP计算第二偏移量; 
    在优选的实施例中,单个原始字符对应的加密字符的第二偏移量等于所述第一偏移量NP与所述第一动态偏移量OP之和。 
    步骤S212,根据所述第二偏移量,获取所述单个原始字符的GBK编码值在所述分区域Am的主映射区Am+1中对应的所述加密字符,所述敏感数据即转换为加密数据; 
    在优选的实施例中,步骤S210具体包括:计算所述加密字符的编码位,获取所述加密字符,所述加密字符的编码位为从所述单个原始字符GBK编码值所在分区域Am的主映射区Am+1的头部开始偏移所述第二偏移量个位数后对应的编码位,该编码位所对应的字符即为所述加密字符。 
    步骤S214,将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据。 
    具体地,预设GBK中文字符集为中文字符的加密字符集,GB2312中文字的编码范围在B0A0到F7EF之间,被划分成72个等长的单元区间,每个单元区间的编码分布相同,如:第一个区间编码范围为B0A0~B0FE,第二个区间编码范围为B1A0~B1FE,以此类推,最后一个区间编码范围为F7A0~F7FE。 
    图4为第一个单元编码区间示意图。 
    其余单元区域的编码结构类似。把B0~C7这24个单元编码区间组成区域作为A1分区域,把C8~DF这24个单元编码区间组成区域作为A2分区域,把E0~F7这24个单元编码区间组成区域作为A3分区域。图5为GBK中文字符集示意图,如图5所示。 
    预设由英文和数字组成的集合为英文字符和数字字符的加密字符集,将该集合分为A1、A2和A3等长的三段。分别为是A1分区域:{'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u'},A2分区域:{'v','w','x','y','z','0','1','2','3','4','@','5','6','7','8','9','Z','Y','X','W','V'},A3分区域:{'U','T','S','R','Q','P','O','N','M','L','K','J','I','H','G','F','E','D','C','B','A'}。 
    假设m字符在A1分区域中的编码位置如下,则转换后的密文字符编码位置即为图6的M位置。 
    若待加密的中文字符m的GBK编码值在分区域A1中,则获取m在分区 域A1中的第一偏移量NP,然后将字符串长度值和预设的第一密钥的ASCII码值求和再对分区域长度取模得到第一动态偏移量OP,最后将NP+OP得到加密字符M的第二偏移量,从A1分区域的主映射区A2的头部开始偏移NP+OP个位数,得到加密字符M所在的编码位。该加密字符可能在分区域A2,也可能影射到了分区域A3。 
    需要注意的是,在GB2312中文字符集的72个小区间中,D7区间的D7FA~D7FE为空,因此,如果加密字符在映射过程中对应到了D7FA~D7FE区间内,则直接返回原中文字符。 
    相同的,对于数字字符和字母字符的转换加密方法与中文字符的转换加密方法相同,仅仅是加密字符集的不同而已。标点符号保留不作处理。 
    本实施例的技术方案中,数据加密装置从数据存储系统中获取敏感数据,根据敏感数据数据类型的不同,分别通过两种不同的加密方法对敏感数据进行加密,使得敏感数据转换成加密数据。由于无论是字符型或数值型的敏感数据,在转换时是对单个原始字符或原始数字进行对应的转换,且该数据加密方法可逆。因此转换后的加密数据保留了敏感数据的格式,长度不变,加密数据在数据存储系统中所需要的存储空间不变,因此既减少了传统加密算法的系统开销和通讯开销,又提高了加密数据在做数据关联操作时的准确性,传统加密算法加密后的数据由于格式发生了变化,在进行数据关联操作时会发生数据缺失。 
    图7为本发明数据加密方法第三实施例的流程图,如图7所示,该实施例的执行主体为数据加密装置,该方法包括: 
    步骤S300,获取敏感数据; 
    步骤S302,判断所述敏感数据的数据类型属于字符型或数值型,若属于字符型则进入步骤S304,若属于数值型则进入步骤S306; 
    步骤S304,提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据; 
    步骤S306,将预设的第二密钥分为N组第一分密钥Sn(1<=n<=N),并计算每个第一分密钥的ASCII码值; 
    步骤S308,计算所述敏感数据后N位前的数字之和str,将每个第一分密钥的ASCII码值加上str后生成N组第二分密钥SNn(n<=N); 
    步骤S310,对所述敏感数据后N位中的每个原始数字和对应的第二分密钥SNn求和,再加上前一位数字,并经过数字对调和移位操作生成N位加密数字; 
    步骤S312,所述敏感数据后N位前的数字和移位后的N位加密数字组合即获得所述加密数据。 
    在优选的实施例中,预设的第二密钥为16位密钥,将其分为4组第一分密钥s1,s2,s3,s4,每组第一分密钥4位,并计算每个第一分密钥的ASCII码值;计算敏感数据后四位之前的数字和str;将每组第一分密钥的ASCII码值都加上str生成四组第二分密钥sn[0]到sn[3];将敏感数据后四位的每一位都和对应的sn[i](i=0,1,2,3)求和,再加上前一位num(i-1),在经过数字对调和移位操作将最终生成四位加密数字,与前面的原始数字拼接起来得到加密数据。 
    例如:例如:预设的第二密钥为KEY:72f2e6f0c19a4aa8,16位第二密钥分为4组第一分密钥:S1=72f2,S2=e6f0,S3=c19a,S4=4aa8。敏感数据为手机号码“13505189445”,前七位原始数字逐位相加得到str=23。 
    将每组第一分密钥的ASCII码值加上str生成4组第二分密钥SN[0]=348+str=371,SN[1]=251+str=274,SN[2]=209+str=232,SN[3]=298+str=321。 
    将敏感数据后四位的每一位都和对应的SN[i](i=0,1,2,3)求和,再加上前一位num(i-1),即num[i]=9-(SN[i]+d[i]+i+num[i-1])%10(i=0,1,2,3)。再经过数字对调和移位操作,其中对调规则为0-9,1-8,2-7,3-6,4-5,移位次数为(num[0]+num[1]+num[2]+num[3])%4。 
    由此可得,num[0]=9-(371+9+0)%10=9;num[1]=9-(274+4+9+1)%10=1;num[2]=9-(232+4+1+2)%10=0;num[3]=9-(321+5+0+3)%10=0;移位次数:(9+1+0+0)%4=2,1009移位2次的结果为0091,加密数字即为0091,因此加密数据为“13505180091”。 
    需要注意的是,如果敏感数据的长度小于四位,则直接返回敏感数据本身。 
    本实施例的技术方案中,数据加密装置从数据存储系统中获取敏感数据,根据敏感数据数据类型的不同,分别通过两种不同的加密方法对敏感数据进行加密,使得敏感数据转换成加密数据。由于无论是字符型或数值型的敏感 数据,在转换时是对单个原始字符或原始数字进行对应的转换,且该数据加密方法可逆。因此转换后的加密数据保留了敏感数据的格式,长度不变,加密数据在数据存储系统中所需要的存储空间不变,因此减少了传统加密算法的系统开销和通讯开销,传统加密算法加密后的数据由于格式发生了变化,在进行数据关联操作时会发生数据缺失。同时对于数值型的数据,通过变换后N位原始数字的加密方法,即对敏感数据进行了加扰,同时保留了数据段的部分信息,提高了加密数据在做数据关联操作时的准确性。 
    图8为本发明数据加密装置第一实施例的结构示意图,如图8所示,该装置包括:第一数据类型判断???1,字符加密???2以及数值加密???3,其中: 
    第一数据类型判断???1,用于获取敏感数据,判断所述敏感数据的数据类型属于字符型或数值型;若所述敏感数据的数据类型属于字符型,则将敏感数据发送至字符加密???2,若所述敏感数据的数据类型属于数值型,则将敏感数据发送至数值加密???3; 
    字符加密???2,用于提取所述敏感数据中的单个原始字符,将所述单个原始字符转换成加密字符集中的加密字符,所述敏感数据即转换为加密数据; 
    数值加密???3,用于将所述敏感数据后N位原始数字转换成N位加密数字,所述敏感数据即转换为所述加密数据。 
    优选的,单个原始字符为中文字符时,所述中文字符的加密字符集为中文GB2312字符集。 
    优选的,单个原始字符为英文字符或数字字符时,所述英文字符和数字字符的加密字符集为由英文和数字组成的集合。 
    本发明各实施例提供的数据加密装置用于执行本发明实施例提供的数据加密方法,具备相应的功能???,在此不再赘述。 
    本实施例的技术方案中,数据加密装置从数据存储系统中获取敏感数据,根据敏感数据数据类型的不同,分别通过两种不同的加密方法对敏感数据进行加密,使得敏感数据转换成加密数据。由于无论是字符型或数值型的敏感数据,在转换时是对单个原始字符或原始数字进行对应的转换,因此转换后的加密数据保留了敏感数据的格式,长度不变,加密数据在数据存储系统中 所需要的存储空间不变,因此既减少了传统加密算法的系统开销和通讯开销,又提高了加密数据在做数据关联操作时的准确性,传统加密算法加密后的数据由于格式发生了变化,在进行数据关联操作时会发生数据缺失。 
    图9为本发明数据加密装置第二实施例的结构示意图,如图9所示,该装置包括:第一数据类型判断???1,字符加密???2以及数值加密???3,其中第一数据类型判断???1以及数值加密???3的功能与实施例一相同,不再赘述: 
    字符加密???2包括:第一预设单元221,第一偏移量计算单元222,第一动态偏移量计算单元223,第二偏移量计算单元224,以及字符加密单元225,其中: 
    第一预设单元221,用于将所述加密字符集划分为M块大小相等的分区域Am(1<=m<=M),指定分区域Am+1、Am+2分别为Am的主映射区和从映射区,A1、A2分别为AM的主映射区和从映射区; 
    第一偏移量计算单元222,用于计算所述单个原始字符的GBK编码值在所述加密字符集中的第一偏移量NP,所述第一偏移量NP为所述单个原始字符的GBK编码值在所述分区域Am中高位偏移的位数; 
    第一动态偏移量计算单元223,用于根据所述敏感数据的长度值与预设的第一密钥计算所述敏感数据的第一动态偏移量OP; 
    第二偏移量计算单元224,用于根据所述第一偏移量NP和所述第一动态偏移量OP计算第二偏移量; 
    字符加密单元225,用于根据所述第二偏移量,获取所述单个原始字符的GBK编码值在所述分区域Am的主映射区Am+1中对应的所述加密字符,所述敏感数据即转换为加密数据。 
    优选的,第一动态偏移量计算单元223还用于:计算所述敏感数据的第一动态偏移量OP,所述第一动态偏移量OP等于所述敏感数据的长度值与预设的第一密钥ASCII码值求和再对所述分区域的长度取模后所得的值。 
    优选的,第二偏移量计算单元224还用于:计算所述单个原始字符对应的加密字符的第二偏移量,所述第二偏移量为所述第一偏移量NP与所述第一动态偏移量OP之和。 
    优选的,字符加密单元225还用于:计算所述加密字符的编码位,获取 所述加密字符,所述加密字符的编码位为从所述单个原始字符GBK编码值所在分区域Am的主映射区Am+1的头部开始偏移所述第二偏移量个位数后对应的编码位,该编码位所对应的字符即为所述加密字符。 
    本发明各实施例提供的数据加密装置用于执行本发明实施例提供的数据加密方法,具备相应的功能???,在此不再赘述。 
    本实施例的技术方案中,数据加密装置从数据存储系统中获取敏感数据,根据敏感数据数据类型的不同,分别通过两种不同的加密方法对敏感数据进行加密,使得敏感数据转换成加密数据。由于无论是字符型或数值型的敏感数据,在转换时是对单个原始字符或原始数字进行对应的转换,且该数据加密方法可逆。因此转换后的加密数据保留了敏感数据的格式,长度不变,加密数据在数据存储系统中所需要的存储空间不变,因此既减少了传统加密算法的系统开销和通讯开销,又提高了加密数据在做数据关联操作时的准确性,传统加密算法加密后的数据由于格式发生了变化,在进行数据关联操作时会发生数据缺失。 
    进一步地,字符加密???2还包括单个原始字符提取单元226,用于循环提取所述敏感数据的每一个字符,判断提取到的字符的类型属于中文字符、英文字符、数字字符或标点符号,提取中文字符、英文字符和数字字符为需要加密的单个原始字符。 
    由于敏感数据中可能存在不同类型的字符,而不同类型字符的加密方法不同,通过循环提取每一个单个原始字符,判断其字符属性,使得数据加密装置可以根据不同的字符属性确定加密方法,提高敏感数据加密的处理效率。 
    图10为本发明数据加密装置第三实施例的结构示意图,如图10所示,该装置包括:第一数据类型判断???1,字符加密???2以及数值加密???3,其中第一数据类型判断???1以及字符加密???2的功能与实施例一相同,不再赘述: 
    数值加密???3包括: 
    第一分密钥生成单元331,用于将预设的第二密钥分为N组第一分密钥Sn(1<=n<=N),并计算每个第一分密钥的ASCII码值; 
    第二分密钥生成单元332,用于计算所述敏感数据后N位前的数字之和str,将每个第一分密钥的ASCII码值加上str后生成N组第二分密钥SNn (0<=n<N)); 
    加密数字生成单元333,用于对所述敏感数据后N位中的每个原始数字和对应的第二分密钥SNn求和,再加上前一位数字,并经过数字对调和移位操作生成N位加密数字; 
    数字加密单元334,用于所述敏感数据后N位前的原始数字和移位后的N位加密数字组合即获得所述加密数据。 
    本发明各实施例提供的数据加密装置用于执行本发明实施例提供的数据加密方法,具备相应的功能???,在此不再赘述。 
    本实施例的技术方案中,数据加密装置从数据存储系统中获取敏感数据,根据敏感数据数据类型的不同,分别通过两种不同的加密方法对敏感数据进行加密,使得敏感数据转换成加密数据。由于无论是字符型或数值型的敏感数据,在转换时是对单个原始字符或原始数字进行对应的转换,且该数据加密方法可逆。因此转换后的加密数据保留了敏感数据的格式,长度不变,加密数据在数据存储系统中所需要的存储空间不变,因此减少了传统加密算法的系统开销和通讯开销,传统加密算法加密后的数据由于格式发生了变化,在进行数据关联操作时会发生数据缺失。同时对于数值型的数据,通过变换后N位原始数字的加密方法,即对敏感数据进行了加扰,同时保留了数据段的部分信息,提高了加密数据在做数据关联操作时的准确性。 
    图11为本发明数据解密方法第一实施例的流程图,如图11所示,该实施例的执行主体为数据解密装置,该方法包括: 
    步骤S400,获取加密数据; 
    步骤S402,判断所述加密数据的数据类型属于字符型或数值型,若属于字符型则进入步骤S404,若属于数值型则进入步骤S406; 
    数据加密装置从数据存储系统中获取加密数据,获取的方法有多种,例如通过数据库查询语句获取,加密数据是指进行过加扰的数据。根据加密数据在数据存储系统中的属性,判断加密数据的数据类型属于字符型或数值型。 
    步骤S404,提取所述加密数据中的单个加密字符,根据解密字符集,将所述单个加密字符转换成原始字符,所述加密数据即转换为敏感数据; 
    若该加密数据的数据类型为字符型,则提取该加密数据中的单个加密字 符。单个加密字符是指加密数据中需要进行解密的单个字符,例如电信营业商客户的客户姓名经过加密后的加密数据为“钨偮””,则单个加密字符即为该加密数据中的单个字符,即“钨”和“偮”。 
    根据解密字符集,将每个单个加密字符转换成原始字符。解密字符集为敏感数据加密时所预设的加密字符集,而原始字符为加密字符在进行加密操作之前对应的字符。原始字符通过一定的对应关系,对应到加密字符集中的单个加密字符,由于该对应关系可逆,因此单个加密字符根据解密字符集,能够对应还原生成原始字符?;乖蠼扛鲈甲址凑占用茏址诩用苁葜械乃承蚪凶楹?,加密数据即转换为敏感数据,例如客户姓名经过加密后的加密数据为“钨偮””,还原后可生成敏感数据“张三”。 
    步骤S406,将所述加密数据后N位加密数字转换成N位原始数字,所述加密数据即转换为所述敏感数据。 
    若该加密数据的数据类型为数值型,则加密数据后N位之前的数字为原始数字,因此无需转换。提取加密数据的后N位原始数字,对应转换为原始数字,再与加密数据后N位之前的数字组合,即生成敏感数据。 
    例如,电话号码的加密数据位“13811119876”,保留后4位之前的数字“1381111”不变,对后4位加密数字“9876”做解密处理,转换为4位原始数字“1111”,再将“1381111”和“1111”进行组合,得到加密数据“13811111111”。 
    本实施例的技术方案中,数据解密装置从数据存储系统中获取加密数据,根据加密数据数据类型的不同,分别通过两种不同的解密方法对加密数据进行解密,使得加密数据转换成敏感数据。由于数据加密过程中加密方法可逆,因此可以通过相应的方法逆向解密,且解密效率高,通讯开销小。 
    进一步地,图12为本发明数据解密方法第一实施例中提取单个加密字符的流程图,如图12所示,具体包括: 
    步骤S4042,循环提取所述加密数据的每一个字符; 
    步骤S4044,判断提取到的字符的类型属于中文字符、英文字符、数字字符或标点符号; 
    步骤S4046,提取中文字符、英文字符和数字字符为需要解密的单个加密字符。 
    数据解密装置获取到加密数据后,循环提取加密数据中的每一个字符, 判断提取到的字符属性属于中文字符、英文字符、数字字符或标点符号,若为标点符号,则保留不做加密处理,若为其他则作为需要解密的单个加密字符。 
    由于加密数据中可能存在不同类型的字符,而不同类型字符的解密方法不同,通过循环提取每一个单个加密字符,判断其字符属性,使得数据加密装置可以根据不同的字符属性确定解密方法,提高加密数据解密的处理效率。 
    图13为本发明数据解密方法第二实施例的流程图,如图13所示,该实施例的执行主体为数据解密装置,该方法包括: 
    步骤S500,获取加密数据; 
    步骤S502,判断所述加密数据的数据类型属于字符型或数值型,若属于字符型则进入步骤S504,若属于数值型则进入步骤S514; 
    步骤S504,将所述解密字符集划分为M块大小相等的分区域Am(1<=m<=M),指定分区域Am+1、Am+2分别为Am的主映射区和从映射区,A1、A2分别为AM的主映射区和从映射区; 
    在优选的实施例中,加密字符集被划分为三块大小相等的分区域A1、A2和A3,其中A1的主映射区为A2,从映射区为A3;A2的主映射区为A1,从映射区为A3;A3的主映射区为A1,从映射区为A2。 
    步骤S506,根据所述加密数据的长度值和预设的第一密钥计算所述加密数据的第二动态偏移量OP′; 
    在优选的实施例中,第二动态偏移量OP′等于所述加密数据的长度值与预设的第一密钥ASCII码值求和再对所述分区域的长度取模后所得的值。 
    步骤S508,根据所述单个加密字符的编码位和所述第二动态偏移量OP′,计算第三偏移量NP′,所述第三偏移量NP′为所述单个加密字符对应的原始字符GBK编码在原分区域中高位偏移的位数; 
    在优选的实施例中,所述单个加密字符的编码位减去所述第二动态偏移量OP′后得到临时编码位,所述第三偏移量NP′等于所述临时编码位在所在分区域中的高位偏移的位数。 
    步骤S510,根据所述单个加密字符的编码位和所述第二动态偏移量OP′,获得所述原始字符的GBK编码所在原分区域的位置; 
    进一步地,图14为本发明数据解密方法第二实施例中步骤S510的流程 图,如图14所示,步骤S510具体包括: 
    步骤S5101,判断所述单个加密字符的编码位减去所述第二动态偏移量OP′后得到的临时编码位所对应的字符是否仍在所述单个加密字符所在的分区域Am中,若是则进入步骤S5102,若否则进入步骤S5103; 
    步骤S5102,所述原始字符的GBK编码所在的原分区域为所述分区域Am-1; 
    步骤S5103,所述原始字符的GBK编码所在的原分区域为所述分区域Am-2。 
    步骤S512,根据所述原始字符的GBK编码所在的原分区域的位置和所述第三偏移量NP′获取所述原始字符。 
    在优选的实施例中,确定原始字符的GBK编码所在的原分区域后,从该原分区域的头部开始偏移第三偏移量NP′个位数,所对应的字符即为该原始字符的GBK编码,由此可获得原始字符。 
    步骤S514,将所述加密数据后N位加密数字转换成N位原始数字,所述加密数据即转换为所述敏感数据。 
    具体地,循环获取加密数据中的每一个字符,提取中文字符、英文字符和数字字符作为单个加密字符。中文的单个加密字符所对应的解密字符集为GB2312中文字符集,英文和数字的单个加密字符所对应的解密字符集为数字和英文组合而成的集合。 
    对于中文的单个加密字符,同一个加密数据中不同的单个加密字符所对应的第二动态偏移量OP′相同,都等于字符串长度值和密钥的ASCII码值求和再对分区域长度取模得到偏移值。 
    确定第二动态偏移量OP′后,再确定单个加密字符所在的分区域,假设某中文单个加密字符M处于A3分区域,则用M的编码位减去第二动态偏移量OP′,得到临时编码位所对应的字符M′,如果M′的位置仍在分区域A3中,则说明原始字符的GBK编码值应该在分区域A2中,否则应当在分区域A3中。且第三偏移量NP′等于M′的临时编码位在所在分区域中的高位偏移的位数。 
    确定了原始字符的GBK编码值所在的分区域后,从该分区域的头部开始偏移第三偏移量NP′个位数,所对应的字符即为该原始字符的GBK编码, 由此可获得原始字符。 
    相同的,对于数字字符和字母字符的转换解密方法与中文字符的转换解密方法相同,仅仅是解密字符集的不同而已。标点符号保留不作处理。 
    需要注意的是,在GB2312中文字符集的72个小区间中,D7区间的D7FA~D7FE为空,因此,如果单个加密字符在加密映射过程中对应到了D7FA~D7FE区间内,则单个加密字符为原始字符。此时,在解密时,如果单个加密字符在解密字符集中不存在对应的字符时,应当对该加密字符再次通过数据加密方法进行加密转换,如果转换后的二次加密字符仍然为转换前的单个加密字符,则说明该单个加密字符即为原始字符,直接返回即可。 
    本实施例的技术方案中,数据解密装置从数据存储系统中获取加密数据,根据加密数据数据类型的不同,分别通过两种不同的解密方法对加密数据进行解密,使得加密数据转换成敏感数据。由于数据加密过程中加密方法可逆,因此可以通过相应的方法逆向解密,且解密效率高,通讯开销小。 
    图15为本发明数据解密方法第三实施例的流程图,如图15所示,该实施例的执行主体为数据解密装置,该方法包括: 
    步骤S600,获取加密数据; 
    步骤S602,判断所述加密数据的数据类型属于字符型或数值型,若所述加密数据的数据类型属于字符型,则进入步骤S604,若所述加密数据的数据类型属于数值型,则进入步骤S606; 
    步骤S604,提取所述加密数据中的单个加密字符,根据解密字符集,将所述单个加密字符转换成原始字符,所述加密数据即转换为敏感数据; 
    步骤S606,根据预设的第二密钥和加密数据后N位之前的加密数字计算第三分密钥Sn[i](i<=N); 
    步骤S608,获取所述加密数据的后N位加密数字,计算加密数字偏移量; 
    步骤S610,根据所述加密数字偏移量,将所述加密数据的后N位加密数字向左偏移得到偏移后的加密数据,获取偏移后的加密数据的后N位加密数字D[i]; 
    步骤S612,根据所述第三分密钥Sn[i]和偏移后的加密数据的后N位加密数字D[i],计算获得N位所述原始数字; 
    步骤S614,偏移后的加密数据后N位之前的数字与N位所述原始数字组合即获得所述敏感数据。 
    具体地,假设加密数据的后4位为加密数字,则首先将预设的第二密钥分为4组,计算每一组的ASCII码值,然后将每一组的ASCII码制和加密数据后N位之前的加密数字之和相加,生成第三分密钥Sn[i](i<=N)。 
    取加密数据后4位的加密数字,计算后4位加密数字的偏移量,该偏移量等于后4位加密数字之和对4取余所得的值。后四位根据偏移量向左偏移从而得到偏移后的加密数据,获取偏移后的加密数据的后N位加密数字D[i](i=1,2,3,4);根据公式SnNum[i]=(10+num-D[i-1])%10及num=(9-D[i]-Sn[i]+BIG_NUM-i)%10,即可计算得出4位原始数字SnNum[i]的值,偏移后的加密数据后N位之前的数字与N位所述原始数字组合即获得所述敏感数据。 
    本实施例的技术方案中,数据解密装置从数据存储系统中获取加密数据,根据加密数据数据类型的不同,分别通过两种不同的解密方法对加密数据进行解密,使得加密数据转换成敏感数据。由于数据加密过程中加密方法可逆,因此可以通过相应的方法逆向解密,且解密效率高,通讯开销小。 
    图16为本发明数据解密装置第一实施例的结构示意图,如图16所示,该装置包括第二数据类型判断???1,字符解密???2,以及数值解密???3,其中: 
    第二数据类型判断???1,用于获取加密数据,判断所述加密数据的数据类型属于字符型或数值型; 
    字符解密???2,用于若所述加密数据的数据类型属于字符型,则提取所述加密数据中的单个加密字符,根据解密字符集,将所述单个加密字符转换成原始字符,所述加密数据即转换为敏感数据; 
    数值解密???3,用于若所述加密数据的数据类型属于数值型,则将所述加密数据后N位加密数字转换成N位原始数字,所述加密数据即转换为所述敏感数据。 
    本发明各实施例提供的数据解密装置用于执行本发明实施例提供的数据解密方法,具备相应的功能???,在此不再赘述。 
    本实施例的技术方案中,数据解密装置从数据存储系统中获取加密数据, 根据加密数据数据类型的不同,分别通过两种不同的解密方法对加密数据进行解密,使得加密数据转换成敏感数据。由于数据加密过程中加密方法可逆,因此可以通过相应的方法逆向解密,且解密效率高,通讯开销小。 
    图17为本发明数据解密装置第二实施例的结构示意图,如图17所示,该装置包括第二数据类型判断???1,字符解密???2,以及数值解密???3,其中第二数据类型判断???1,以及数值解密???3的功能与图16中实施例一相同,不再赘述,其中: 
    字符解密???2包括: 
    第二预设单元521,用于将所述解密字符集划分为M块大小相等的分区域Am(1<=m<=M),指定分区域Am+1、Am+2分别为Am的主映射区和从映射区,A1、A2分别为AM的主映射区和从映射区; 
    第二动态偏移量计算单元522,用于根据所述加密数据的长度值和预设的第一密钥计算所述加密数据的第二动态偏移量OP′; 
    第三偏移量计算单元523,用于根据所述单个加密字符的编码位和所述第二动态偏移量OP′,计算第三偏移量NP′,所述第三偏移量NP′为所述单个加密字符对应的原始字符GBK编码在原分区域中高位偏移的位数; 
    位置判断单元524,用于根据所述单个加密字符的编码位和所述第二动态偏移量OP′,获取所述原始字符的GBK编码所在原分区域的位置; 
    原始字符获取单元525,用于根据所述原始字符的GBK编码所在的原分区域的位置和所述第三偏移量NP′获取所述原始字符。 
    优选的,第二动态偏移量计算单元522还用于计算所述加密数据的第二动态偏移量OP′,所述第二动态偏移量OP′等于所述加密数据的长度值与预设的第一密钥ASCII码值求和再对所述分区域的长度取模后所得的值。 
    优选的,第三偏移量计算单元523还用于计算所述单个加密字符的编码位减去所述第二动态偏移量OP′后得到的临时编码位,所述第三偏移量NP′等于所述临时编码位在所在分区域中的高位偏移的位数。 
    优选的,位置判断单元524还用于判断所述单个加密字符的编码位减去所述第二动态偏移量OP′后得到的临时编码位所对应的字符是否仍在所述单个加密字符所在的分区域Am中,若是则所述原始字符的GBK编码所在的原分区域为所述分区域Am-1,若否则所述原始字符的GBK编码所在的原 分区域为所述分区域Am-2。 
    优选的,原始字符获取单元525还用于所述原始字符的GBK编码为从所述原分区域的头部开始偏移所述第三偏移量NP′个位数后对应的字符,根据所述原始字符的GBK编码获取所述原始字符。 
    本发明各实施例提供的数据解密装置用于执行本发明实施例提供的数据解密方法,具备相应的功能???,在此不再赘述。 
    本实施例的技术方案中,数据解密装置从数据存储系统中获取加密数据,根据加密数据数据类型的不同,分别通过两种不同的解密方法对加密数据进行解密,使得加密数据转换成敏感数据。由于数据加密过程中加密方法可逆,因此可以通过相应的方法逆向解密,且解密效率高,通讯开销小。 
    进一步地,字符解密???2还包括单个加密字符提取???26,用于循环提取所述加密数据的每一个字符,判断提取到的字符的类型属于中文字符、英文字符、数字字符或标点符号,提取中文字符、英文字符和数字字符为需要解密的单个加密字符。 
    由于加密数据中可能存在不同类型的字符,而不同类型字符的解密方法不同,通过循环提取每一个单个加密字符,判断其字符属性,使得数据加密装置可以根据不同的字符属性确定解密方法,提高加密数据解密的处理效率。 
    图18为本发明数据解密装置第二实施例的结构示意图,如图18所示,该装置包括第二数据类型判断???1,字符解密???2,以及数值解密???3,其中第二数据类型判断???1,以及字符解密???2的功能与图16中实施例一相同,不再赘述,其中: 
    数值解密???3包括: 
    第一计算单元631,用于获取所述加密数据的后N位加密数字,计算加密数字偏移量; 
    第二计算单元632,用于根据所述加密数字偏移量,将所述加密数据的后N位加密数字向左偏移得到偏移后的加密数据,获取偏移后的加密数据的后N位加密数字D[i]; 
    第三分密钥生成单元633,用于根据预设的第二密钥和偏移后的加密数据后N位之前的加密数字计算第三分密钥Sn[i](i<=N); 
    原始数字生成单元634,用于根据所述第三分密钥Sn[i]和偏移后的加密 数据的后N位加密数字D[i],计算获得N位所述原始数字; 
    数字解密单元635,用于偏移后的加密数据后N位之前的数字与N位所述原始数字组合即获得所述敏感数据。 
    本发明各实施例提供的数据解密装置用于执行本发明实施例提供的数据解密方法,具备相应的功能???,在此不再赘述。 
    本实施例的技术方案中,数据解密装置从数据存储系统中获取加密数据,根据加密数据数据类型的不同,分别通过两种不同的解密方法对加密数据进行解密,使得加密数据转换成敏感数据。由于数据加密过程中加密方法可逆,因此可以通过相应的方法逆向解密,且解密效率高,通讯开销小。 
    应说明的是:以上实施例仅用以说明本发明而非限制,本发明也并不仅限于上述举例,一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围中。 

    关于本文
    本文标题:数据加密方法、解密方法及装置.pdf
    链接地址://www.4mum.com.cn/p-6147914.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 3d定制女仆怎么快速赚钱 经营圆通快递赚钱吗 辛运28计划 北京pk10开奖结果的广播 全民内蒙麻将 二六三股票 手机看舟山体彩飞鱼 云南时时彩奖金 新11选5是合法的吗 七乐彩近30期走势图 快乐10分现场开奖直播 十大正规游戏平台排行榜 网球肘按摩手法图 骑砍风云三国快速赚钱 七乐彩群 下期7星彩号码预测