电话号码漂白和反向漂白方法

文档序号:9288557阅读:603来源:国知局
电话号码漂白和反向漂白方法
【技术领域】
[0001] 本发明涉及数据处理技术领域,尤其涉及一种电话号码漂白和反向漂白方法。
【背景技术】
[0002] 数据漂白是使数据更加安全的一种计算机处理过程,它与数据加密不同,数据加 密后是无法正常读取和使用的,必须解密才能使用。而数据漂白是将数据通过一定的算法 变成另一种样式,而这种样式是可读的,并且与原数据是同一类的。数据漂白根据漂白的具 体需求,根据不同的漂白字段,制定不同的漂白算法,以保证漂白后的数据具有高仿真度, 高仿真度是区分数据漂白算法与普通加密算法的重要标志,漂白是一种特殊的加密过程, 经过漂白处理后的数据必须要能够保证具备可读性、逻辑关联性和安全性,并且能够通过 反向漂白还原成原数据。
[0003] 数据漂白分为正向漂白和反向漂白。正向漂白是将原始数据经过漂白处理形成漂 白后数据的过程。反向漂白是将漂白后的数据经过反向处理还原成原始数据的过程。随着 大数据技术的成熟和发展,大数据在商业上的应用越来越广泛,有关大数据的交互、整合、 交换、交易的例子也日益增多,必须保障数据中涉及客户和生产的敏感信息不外泄,这些信 息包括客户姓名、电话、住址、身份证号码等个人敏感信息,以及柜员类和企业类的敏感信 息等。数据漂白常用于由于需要在非生产环境中使用生产数据的场景,例如测试、开发、培 训、外包、数据挖掘和研究等,通过数据漂白过程,能够减少数据使用的限制,保障数据中涉 及客户和生产的敏感信息不外泄,不侵害用户的个人隐私数据,且具有高仿真度。
[0004] 我国目前常用的电话号码包含以下几种:手机号码(11位数字)、本地电话号码(8 位数字或7位数字)和长途电话号码(3~4位区号+本地号码)等,这几种号码中最后8 位数字或7位数字(本地电话号码为7位的情况下)是电话号码中涉及敏感信息的隐私部 分,隐私部分之前的数字是非隐私部分,为了保障电话号码隐私部分不外泄,需要针对电话 号码隐私部分设计一种漂白和反向漂白方法。

【发明内容】

[0005] 本发明的目的在于提供一种电话号码漂白方法,对电话号码进行漂白,保持数据 高仿真度、漂白过程不易被破解。
[0006] 本发明的另一目的在于提供一种电话号码反向漂白方法,将漂白后的电话号码还 原成原始电话号码。
[0007] 为实现上述目的,本发明提供一种电话号码漂白方法,包括:
[0008] 步骤10、输入待漂白电话号码,根据电话号码非隐私部分的数字按一定的方式计 算号码偏移值P,且满足〇 < P < 10 ;
[0009] 步骤20、将电话号码隐私部分的8位数字存储为数组digits,隐私部分不足8位 数字时在隐私部分首位前用〇补足8位,预先确定隐私部分8位数字的转换顺序并存储为 数组 shifts ;
[0010] 步骤 30、保存 digits 中 shifts [0]对应的数字 d8 = = digits [shifts [0]];
[0011] 步骤40、按照shifts定义的顺序,逐一修改digits中对应位置的数字,修改 方式为:digits[shifts[i]] = mod(digits[shifts[i+l]]+p,10),其中 0 < i < 7 ; digits[shifts[7]] = mod(d8+p,10);
[0012] 步骤50、将电话号码非隐私部分的数字与修改后的隐私部分的8位数字组合成漂 白后的电话号码并输出。
[0013] 其中,所述电话号码为11位手机号码,8位本地号码,7位本地号码,区号加8位本 地号码,或区号加7位本地号码。
[0014] 其中,p = mod(sum+3,5)+2,其中sum为电话号码非隐私部分的数字之和。
[0015] 其中,shifts = [0, 6, 2, 5, 3, 7, 4, 1]。
[0016] 为实现上述目的,本发明还提供了一种电话号码反向漂白方法,包括:
[0017] 步骤110、输入待反向漂白电话号码,根据电话号码非隐私部分的数字按与漂白时 相同的方式计算号码偏移值P,且满足〇 < P < 10 ;
[0018] 步骤120、将电话号码隐私部分的8位数字存储为数组digits,预先确定的隐私部 分的8位数字的转换顺序数组shifts与漂白时相同;
[0019] 步骤 130、保存 digits 中 shifts [7]对应的数字 d8 = digits [shifts [7]];
[0020] 步骤140、按照shifts定义的顺序的反向,逐一修改digits中对应位置的数字, 修改方式为:digits[shifts[7 - i]] = mod (digits [shifts[6 - i]]-p,10),其中 0 < i < 7 ;digits[shifts[0]] = mod(d8 - p,10);
[0021] 步骤150、将电话号码非隐私部分的数字与修改后的隐私部分的8位数字组合成 漂白前的电话号码并输出。
[0022] 其中,所述电话号码为11位手机号码,8位本地号码,7位本地号码,区号加8位本 地号码,或区号加7位本地号码。
[0023] 其中,p = mod(sum+3,5)+2,其中sum为电话号码非隐私部分的数字之和。
[0024] 其中,shifts = [0, 6, 2, 5, 3, 7, 4, 1]。
[0025] 综上所述,本发明的电话号码漂白方法能够对电话号码进行漂白,保持数据高仿 真度、漂白过程不易被破解,适合于漂白大规模数据;本发明的电话号码反向漂白方法,能 够将漂白后的电话号码还原成原始电话号码。
【附图说明】
[0026] 图1为本发明电话号码漂白方法的流程图。
【具体实施方式】
[0027] 下面结合附图,通过对本发明的【具体实施方式】详细描述,将使本发明的技术方案 及其有益效果显而易见。
[0028] 参见图1,其为本发明电话号码漂白方法的流程图。漂白方法主要包括:
[0029] 步骤10、输入待漂白电话号码,根据电话号码非隐私部分的数字按一定的方式计 算号码偏移值P,且满足〇 < P < 10。
[0030] 计算方式可以是根据电话号码非隐私部分的数字之和sum来计算。对于11位手 机号码,可以根据最后8位数字以外的数字计算一个号码偏移值p,p需大于O并小于10, 例如,计算方式可以为:若其他数字之和为sum,p = (sum+3) % 5+2。对于8位本地号码或 7位本地号码,非隐私部分的数字之和sum可以按0来计算。区号加8位本地号码,或区号 加7位本地号码的情况,非隐私部分的数字之和sum可以是区号的数字之和。
[0031] 步骤20、将电话号码隐私部分的8位数字存储为数组digits,隐私部分不足8位 数字时在隐私部分首位前用〇补足8位,预先确定隐私部分8位数字的转换顺序并存储为 数组 shifts。
[0032] 对于7位本地号码,或区号加7位本地号码的情况,在隐私部分首位前用0 补足8位。可以事先确定一个各八位数之间转换顺序数组shifts,例如:shifts = [0, 6, 2, 5, 3, 7, 4, 1]。转换顺序数组可以任意指定,从而保证随机性及不易被反向破解。将 电话号码后八位数字以数组形式存储起来,为digits。
[0033] 步骤 30、保存 digits 中 shifts[0]对应的数字 d8 == digits[shifts[0]]。保 存digits中shifts[0] (shifts数组的第0个值)对应的那位数字。
[0034] 步骤40、按照shifts定义的顺序,逐一修改digits中对应位置的数字,修改 方式为:digits[shifts[i]] = mod(digits[shifts[i+l]]+p,10),其中 0 < i < 7 ; digits[shifts[7]]= mod(d8+p,10)〇
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1