数据脱敏

数据脱敏

时间秒杀一切 提交于 2019-11-27 14:11:03
背景与目标 在数据仓库建设过程中,数据安全扮演着重要角色,因为隐私或敏感数据的泄露,会对数据主体(客户,员工和公司)的财产、名誉、人身安全、以及合法利益造成严重损害。因此我们需要严格控制对仓库中的数据访问,即什么样的人员或者需求才可以访问到相关的数据。这就要求对数据本身的敏感程度进行安全级别划分。数据有了安全等级的划分,才能更好管理对数据访问控制,以此来保护好数据安全。 举个例子简单的说明下,例如我们仓库中有一张关于注册用户的基本信息表User,其中有手机号mobile,昵称username两个字段。我们在划分数据安全层级的时,将用户mobile的安全等级划分为L2要高于username的等级L1,并规定只有访问权限达到L2的运营部门才能访问mobile字段。这样在公司各个部门需要访问注册用户基本信息表User时,我们只需检查访问者是否来自运营部门,如果是运营部可以访问mobile,如果不是只能访问username信息了。这样就有效的防止用户手机号被不相关工作人员泄露出去,同时也不影响查询用户username的需求。 但是往往在实际生产过程中,应用场景会更加复杂,仅靠类似这样的访问控制,满足不了生产的需要,还需要结合其它的途径,而数据脱敏就是一种有效的方式,既能满足日常生产的需要,又能保护数据安全。 数据脱敏,具体指对某些敏感信息通过脱敏规则进行数据的变形

数据的定时脱敏

此生再无相见时 提交于 2019-11-27 14:10:45
数据是企业的核心资产,敏感数据的保护更是重中之重。所以企业的管理者,数据库的运维人员都要提高数据保密意识。 数据的定时静态敏感是所有政务、金融、商业系统都需要做的工作。使用TreeSoft数据库管理系统,可以快速创建数据定时异构同步, 数据定时处理任务,数据实时查询维护,功能易于使用,快速布署。 通过数据同步功能,可以实现MySQL,Oracle,DB2,PostgreSQL, SQL Server, MongoDB, Hive , SAP HANA , Cache 等不同数据库间的数据同步,迁移。 配合数据加密、替换、截取等操作,就可以实施数据库的静态脱密了,将数据同步到共享库,即保障了数据安全,又满足了业务需求。 来源: https://www.cnblogs.com/treesoft/p/10202995.html

如何用java实现数据脱敏

泪湿孤枕 提交于 2019-11-27 14:10:31
数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供 测试 使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏, 天津网站建设 数据库 安全技术之一。 比如我们现在有个user表,含有名字,性别,邮箱,电话号码等字段,但是当查看这些数据时,我们又不希望这些数据被暴露,这时可以对这些数据进行脱敏处理,当然可以根据需要选择哪些字段需要脱敏,然后再输出,至于怎么选择的,是另外一回事了。 如下面这个表格中的数据,是经过脱敏加密后的:(所有字段都进行脱敏) 以下是代码实现: 官网:www.fhadmin.org private static final int SIZE = 6; private static final String SYMBOL = "*"; public static String toConceal(String value) { if (null == value || "".equals(value)) { return value; } int len = value.length(); int pamaone = len / 2; int pamatwo = pamaone - 1; int pamathree =

如何用java实现数据脱敏

无人久伴 提交于 2019-11-27 14:10:17
数据脱敏是什么意思呢? 数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏, 数据库安全 技术之一。 比如我们现在有个user表,含有名字,性别,邮箱,电话号码等字段,但是当查看这些数据时,我们又不希望这些数据被暴露,这时可以对这些数据进行脱敏处理,当然可以根据需要选择哪些字段需要脱敏,然后再输出,至于怎么选择的,是另外一回事了。 如下面这个表格中的数据,是经过脱敏加密后的:(所有字段都进行脱敏) 以下是代码实现: private static final int SIZE = 6; private static final String SYMBOL = "*"; public static String toConceal(String value) { if (null == value || "".equals(value)) { return value; } int len = value.length(); int pamaone = len / 2; int pamatwo = pamaone - 1; int pamathree = len % 2;

数据脱敏

橙三吉。 提交于 2019-11-26 16:04:19
1 import cn.hutool.core.util.StrUtil; 2 3 /** 4 * 脱敏工具类 5 **/ 6 public class DesensitizedUtils { 7 8 /** 9 * 对字符串进行脱敏操作 10 * 11 * @param origin 原始字符串 12 * @param prefixNoMaskLen 左侧需要保留几位明文字段 13 * @param suffixNoMaskLen 右侧需要保留几位明文字段 14 * @param maskStr 用于遮罩的字符串, 如'*' 15 * @return 脱敏后结果 16 */ 17 public static String desValue(String origin, int prefixNoMaskLen, int suffixNoMaskLen, String maskStr) { 18 if (origin == null) { 19 return null; 20 } 21 22 StringBuilder sb = new StringBuilder(); 23 for (int i = 0, n = origin.length(); i < n; i++) { 24 if (i < prefixNoMaskLen) { 25 sb.append(origin

终于有了,史上最强大的数据脱敏处理算法

廉价感情. 提交于 2019-11-25 22:10:53
哈哈,标题党了,向你道歉! 言归正传。 我们的应用系统里,为保护用户隐私,用户的敏感信息经常要做脱敏显示或脱敏存储,比如用户的身份证号、手机号、银行卡,等等。在支付系统或金融系统,数据安全是第一要务,数据的脱敏处理更是必选项。 【身份证号脱敏示例】120115201406180712 脱敏后:120115********0712 【银行卡号脱敏示例】9558820200019833888 脱敏后:955882*********3888 【手机号脱敏示例】18810754438 脱敏后:188******38 算法实现原理很简单,就是保留头尾字符,把中间的部分用特殊字符如星号“*”作为掩码来表示。 网上类似算法很多。这里提供一个可供参考: import java.util.Arrays;import java.util.concurrent.atomic.AtomicInteger; public static String tuoMin(String str, int headCharCount, int tailCharCount) { if(str.length()<headCharCount+tailCharCount){ throw new IllegalArgumentException("明文过短,无法脱敏"); } String repeat = ""; int