本发明属于隐私保护安全技术领域,涉及一种针对类别信息的数据脱敏方法。
背景技术:
随着数据生产要素化,数据科学、数据科技的不断发展和数据价值的深度挖掘及应用,一场大数据革命正在进行,各行各业每天都在产生数量巨大的数据碎片。目前,业务生产系统中已经积累了海量的客户类别信息等敏感数据,如是否患某种疾病(y/n)、患某种疾病的可治愈程度(h/m/l)等是非常重要的隐私信息,一旦这些隐私信息被不法分子盗取、利用,定会给个人带来经济乃至声誉上的损失。因此,数据拥有者在使用客户信息时,必须对类别信息进行脱敏处理。目前针对敏感信息的脱敏方法主要是针对数字型数据、非数字型数据包括地址、出生日期、姓名、身份证号等,对类别信息的非暴力脱敏方法尚未出现。
数据脱敏,指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护,这样就可以在开发、测试和其他非生产环境以及外包环境中安全地使用脱敏后的真实数据集。现有技术中,对类别信息的脱敏方法常用的是固定替换,即将所有类别信息替换为同一个固定值,这样,类别信息的频数及百分比完全发生了改变,使得整体数据集的类别信息失去数据分析的价值。
技术实现要素:
本发明的目的在于克服上述现有技术的缺点,提供了一种针对类别信息的数据脱敏方法,该方法能够保留脱敏后类别信息的频数及百分比,不降低数据分析的价值。
为达到上述目的,本发明所述的针对类别信息的数据脱敏方法包括以下步骤:
1)获取类别信息,根据ascii码对照表获得控制字符对应的ascii值;
2)随机产生十进制整数,再将所述十进制整数转换为与步骤1)中ascii值相同进制的数,然后与步骤1)中的ascii值进行求和运算;
3)创建字典,其中,字典的键为0-9及a-f之间的字符,字典中的值为随机挑选的16个不重复的英文大写字母;
4)将步骤2)求和运算结果中的每一位分别作为键在步骤3)创建的字典中查找对应的值,然后将所有查找到的值按顺序组合形成字符串,最后将所述字符串作为针对类别信息的数据脱敏结果。
步骤1)中的类别信息为a-z及a-z之间的字符。
步骤1)中控制字符对应的ascii值为十六进制数。
随机产生的十进制整数大于等于1且小于等于133。
本发明具有以下有益效果:
本发明所述的针对类别信息的数据脱敏方法在具体操作时,对类别信息进行二次加密处理,具体的,将随机产生的十进制整数转换后与步骤1)中的ascii值进行求和;将步骤2)求和运算结果中的每一位分别作为键在步骤3)创建的字典中查找对应的值,实现数据的二次加密处理,从而充分保护隐私信息的安全性,另外,本发明中将在字典中查找到的值按顺序组合形成字符串,然后将所述字符串作为针对类别信息的数据脱敏结果,以保留脱敏后类别信息的频数及百分比,并且不降低数据分析的价值。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合附图对本发明做进一步详细描述:
本发明所述的针对类别信息的数据脱敏方法包括以下步骤:
1)获取类别信息,根据ascii码对照表获得控制字符对应的ascii值;
2)随机产生十进制整数,再将所述十进制整数转换为与步骤1)中ascii值相同进制的数,然后与步骤1)中的ascii值进行求和运算;
3)创建字典,其中,字典的键为0-9及a-f之间的字符,字典中的值为随机挑选的16个不重复的英文大写字母;
4)将步骤2)求和运算结果中的每一位分别作为键在步骤3)创建的字典中查找对应的值,然后将所有查找到的值按顺序组合形成字符串,最后将所述字符串作为针对类别信息的数据脱敏结果。
步骤1)中的类别信息为a-z及a-z之间的字符。
步骤1)中控制字符对应的ascii值为十六进制数。
步骤2)随机产生的某个十进制整数,其值在范围1-133内,将其转换为十六进制后再与步骤1获得的ascii值求和,其目的在于,使得脱敏后的字符串长度固定为2位,其原理是英文字母中小写z对应的十六进制ascii值最大为7a,要想达到最大的两位十六进制数ff,还相差一个十进制的整数133。
实施例一
本发明所述的针对类别信息的数据脱敏方法包括以下步骤:
1)获取类别信息,根据ascii码对照表获得控制字符对应的ascii值,其中,类别信息为a-z及a-z之间的字符,其对应的十六进制ascii值分别为61-7a、41-5a;
2)随机产生1-133之间的某一十进制整数,再将所述十进制整数转换为与步骤1)中ascii值相同进制的数,然后与步骤1)中的ascii值进行求和运算,如对类别信息“f”进行脱敏,“f”经步骤1)处理后得到的十六进制ascii值为46,经步骤2)求和后得到47-cb之间的数字;
3)创建字典,其中,字典的键为0-9及a-f之间的字符,其中,共16个字符,字典中的值为随机挑选的16个不重复的英文大写字母,例如可创造字典为:
dictionary={‘0’:’k’,’1’:’l’,’2’:’m’,’3’:’n’,’4’:’o’,’5’:’p’,’6’:’q’,’7’:’r’,’8’:’s’,’9’:’t’,’a’:’u’,’b’:’v’,’c’:’w’,’d’:’x’,’e’:’y’,’f’:’z’};
4)将步骤2)求和运算结果中的每一位作为键在步骤3)创建的字典中查找对应的值,然后将所有查找到的值按顺序组合形成字符串,最后将所述字符串作为针对类别信息的数据脱敏结果,若1-133之间的随机整数为25,则对应“f”脱敏后的结果为“pz”。