首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python实现数据脱敏

背景上一篇文章讲到了《一个注解,实现数据脱敏》,其实用起来还是相当方便。那shigen是一个喜欢倒腾的人,对于python接口,如何实现数据脱敏呢?...我找了很久教程,发现关于这部分资料并不多,而且大部分都是手写脱敏算法。最终我也妥协了,我使用是正则表达式实现数据脱敏。...本文中,将使用flask+faker实现一个接口,再用正则表达式加工一下,它返回脱敏随机数据。...代码实现定义一个通用正则表达式匹配工具实现是将符合规则数据变成脱敏之后数据图片不得不说,还是很考验正则表达式功底,但是shigen这个还是可以做到通用,建议拿来就用。...faker模拟生成数据图片这里就是用faker生成模拟数据,然后传入对应方法中进行进一步匹配处理,最后包装成一个json数据返回给前端尝试调用一下,每次返回数据是不一样数据脱敏需求也是如期实现

43830

数据安全:通过Oracle基本函数实现简单加密脱敏函数

介绍这两个加密方法,主要还是在对一些业务数据脱敏有这样要求: 1、脱敏字段全部内容加密模糊化,部分加密模糊不行, 2、保持字段各条记录原来数据关系, 3、加密后数据长度与原来保持一样。...没有这些条件,加密脱敏方法还是比较多,同时满足以上要求,就不容易满足了。 比如以下利用 MD5 创建自定义函数,满足了 1 和 2 要求,却满足不了 3 要求。...,复杂度也相当高,原来相同记录加密后字符串也是一样,只是加密后字符串跟原来长度不一致,不过也容易被解密。...插入测试数据并查看: ? 被取代数据以数字型被取代: ? 0 没有被替换成 ’a’,也没有被替代成任何字符。 被取代数据以字符型被取代: ? ‘0’被替换成’a’。...在各种加密脱敏方法中,不管使用哪一种方法,容易还是简单,只要适合脱敏需求。上面两个只是简单举例。 作者:苏星开 投稿:有投稿意向技术人请在公众号对话框留言。 转载:意向文章下方留言。

1.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    学一招,利用MySQL函数实现数据脱敏

    前言 一 什么是数据脱敏? 二 姓名脱敏小案例 2.1 定长脱敏 2.2 非定长脱敏 三 函数释义 前言 大家好,我是麦洛,前几天项目中用到了姓名脱敏,要保留头和尾,中间填充不定数量'*'。...因为不熟悉相关函数,破费周折,今天总结一下,感觉有用可以收藏一下就好 一 什么是数据脱敏?...数据脱敏(Data Masking),顾名思义,是屏蔽敏感数据,对某些敏感信息(比如,身份证号、手机号、卡号、客户姓名、客户地址、邮箱地址、薪资等等 )通过脱敏规则进行数据变形,实现隐私数据可靠保护...业界常见脱敏规则有,替换、重排、加密、截断、掩码,用户也可以根据期望脱敏算法自定义脱敏规则。...img 二 姓名脱敏小案例 2.1 定长脱敏 所谓定长脱敏,就是替换'*'长度固定,效果如下图所示 SELECT CONCAT( LEFT ( real_name, 1 ), '*', RIGHT

    2.6K20

    你还不会搞数据脱敏?MyBatis 插件 + 注解轻松实现数据脱敏,So easy~!

    问题 在项目中需要对用户敏感数据进行脱敏处理,例如身份号、手机号等信息进行加密再入库。...解决思路 就是:一种最简单直接方式,在所有涉及数据敏感查询到对插入时进行密码加解密 方法二:有方法一到出现对所有重大问题影响,需要考虑到问题出现,并且需要考虑可能出现组员时添加数据方法。...上层业务调用不再需要考虑数据加敏同时也保证了数据加解密 Mybatis 插件原理 Mybatis 是通过拦截器实现,Mabatis 支持对当事人进行拦截 实现 设置对参数中带有敏感参数字段数据时进行加密...; } } } } return result; } } 加密实现类...切入mybatis设置参数时对敏感数据进行加密 Mybatis插件使用就是通过实现Mybatis中Interceptor接口 再@Intercepts注解 // 使用mybatis插件时需要定义签名

    1.8K30

    MyBatis 插件 + 注解 轻松实现数据脱敏

    问题 在项目中需要对用户敏感数据进行脱敏处理,例如身份证号、手机号等信息进行加密再入库。...解决思路 方法一:最简单直接方式就是对代码中所有涉及到敏感数据接口在查询和插入时进行加解密 方法二:方法一会对代码入侵很大,需要考虑到所有涉及到接口,工作量极大,并且可能出现组员协作时没有考虑到对数据加解密问题...上层业务调用不再需要考虑数据加解密问题同时也保证了数据脱敏 Mybatis插件原理 Mybatis插件是通过拦截器实现,Mabatis支持对四种对象进行拦截 实现 1、 设置参数时对参数中含有敏感字段数据进行加密...} } } } return result; } } 加密实现类...参数插件ParameterInterceptor 切入mybatis设置参数时对敏感数据进行加密 Mybatis插件使用就是通过实现Mybatis中Interceptor接口 再配合@Intercepts

    71120

    一个注解,实现数据脱敏

    要是遇上稍微不规范团队,直接如同迷雾中穿梭,在不懂逻辑情况下被迫写代码,shi上堆shi。好了,夜深了,我也不去哔哔,传输一点无用emo了。---今天的话题是:一个注解实现业务数据脱敏。...背景我们在开发过程中,或者说再用一些类似某宝、某东时候,发现个人信息电话是这样:123****7890,其实主要目的还是为了实现数据安全。那作为开发,我们自己怎样实现呢?...OK,那能不能继续往下思考一下,实现一个通用工具类,包括各种类型数据脱敏呢?安排上!...那使用上就更简单了,shigen直接上代码了。图片图片请求接口,看到数据就是这样:图片这就巧妙实现数据脱敏,也感谢hutool工具类支持和大神蜗牛提供解决方案。...代码也在shigengitee上:数据脱敏,需要源代码伙伴可以去看看。---以上就是《一个注解,实现数据脱敏全部内容了。与**shigen**一起,每天不一样!

    36551

    如何使用Sentry实现HiveImpala数据脱敏

    Faysongithub:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 本文主要描述如何使用Sentry实现数据脱敏...数据脱敏主要是指将原始数据全部或者部分敏感值进行替换。这样避免了用户未经授权而直接访问原始值,并保留了底层数据schema。...灵活数据脱敏方案应该是底层数据真实值没有被脱敏,当有用户查询数据时则判断是否屏蔽,取决于用户具体权限。我们可以使用Sentry控制视图权限来实现数据脱敏。...本文Fayson会以一个简单实操例子来介绍如何使用Sentry实现Hive/Impala数据脱敏。...regexp_replace()函数通过正则表达式方式敏感数据屏蔽,也可以通过自定义UDF函数来等方式来实现敏感数据脱敏

    3.2K60

    MySQL安全相关-- TDE和数据脱敏功能介绍

    Data Encryption,透明数据加密) 指的是无需修改应用就可以实现数据加解密,在数据写磁盘时候加密,读时候自动解密。...各种插件和组件安装和使用方法见:https://dev.mysql.com/doc/refman/8.0/en/keyring.html 2 数据脱敏 数据脱敏,就是将敏感信息,例如身份证信息...从8.0.13开始,MySQL企业版提供了数据脱敏功能,主要包括: 1.转换现有数据,例如将信用卡号只保留最后四个字符,其余数据均更改为“X”字符; 2.随机数据生成,例如电子邮件地址和信用卡号。...这些功能都是通过安装插件实现,日常需要数据脱敏时候,例如测试环境部署等, 通过使用这些函数可大大方便我们工作。...,可参见 https://dev.mysql.com/doc/refman/8.0/en/data-masking-function-reference.html 关于TDE和数据脱敏,就介绍到这里了,

    1.7K10

    数据脱敏——基于Java自定义注解实现日志字段脱敏

    https://blog.csdn.net/huyuyang6688/article/details/77759844   上文说了数据过敏主要有两个思路:第一个就是在序列化实体之前先把需要脱敏字段进行处理...脱敏实现思路 ----   这里探讨第一种方法,用基于自定义注解方式实现日志脱敏。   ...要对数据进行脱敏,基本上都是对一些关键、少数字段进行脱敏,比如某个实体中可能只对password这一个字段进行脱敏处理,所以可以用自定义注解方式,只需在需要脱敏字段上添加一个注解,比较方便。   ...针对整个实现思路、实现方法,如果您有任何疑问和建议,欢迎交流讨论。...《数据脱敏——基于Java自定义注解实现日志字段脱敏》】

    6.3K20

    MySQL企业版之数据脱敏功能

    利用企业级特性给敏感数据打码。 ---- 1. 插件安装2. 数据打码插件应用2.1 隐藏重要数据2.2 生成随机数据并打码2.3 基于字典生成随机值2.4 其他要注意地方3. 总结4....延伸阅读 MySQL企业版从8.0.13开始,新增一个插件叫做Data Masking and De-Identification,我将其简称为数据打码插件,其主要功能有: 将部分敏感数据转换成无害数据...这就可以在查询数据库中敏感数据时以"***"或"XXX"等方式打码显示,避免泄漏。 生成随机数据,例如邮箱或银行卡号。例如在做功能测试时,我们可能需要生成一些随机数据,就用得上了。 1....总结 数据打码插件是个非常不错功能,除了上面描述几个场景,还可以在用在 SELECT ... INTO OUTFILE 导出线上生产数据,然后再导入本地测试环境。...或者直接在线上环境中,利用这些函数将数据脱敏处理后,写入专门测试库,让测试程序直接读取,或者再利用主从复制同步到本地测试环境,可以玩出各种花样。 更多详情请参考手册内容。

    1.4K20

    一个注解优雅实现 接口数据脱敏

    通常接口返回值中一些敏感数据也是要脱敏,比如身份证号、手机号码、地址.....通常手段就是用*隐藏一部分数据,当然也可以根据自己需求定制。 言归正传,如何优雅实现呢?...有两种实现方案,如下: 整合Mybatis插件,在查询时候针对特定字段进行脱敏 整合Jackson,在序列化阶段对特定字段进行脱敏 基于Sharding Sphere实现数据脱敏,查看之前文章:基于...Sharding Sphere实现数据“一键脱敏” 第一种方案网上很多实现方式,下面演示第二种,整合Jackson。...定制脱敏策略 针对项目需求,定制不同字段脱敏规则,比如手机号中间几位用*替代,如下: /** * 脱敏策略,枚举类,针对不同数据定制特定策略 */ public enum SensitiveStrategy...总结 数据脱敏有很多种实现方式,关键是哪种更加适合,哪种更加优雅.....

    53420

    Spring Boot实现数据加密脱敏:注解 + 反射 + AOP

    数据加密和脱敏需求 3. Spring Boot项目初始化 4. 敏感数据加密注解设计 5. 实现加密和脱敏工具类 6. 实体类和加密脱敏注解使用 7. 利用AOP实现加密和脱敏 8....本文将介绍如何在Spring Boot项目中利用注解、反射和AOP组合,实现对敏感数据加密和脱敏,提高数据安全性。 2....实现加密和脱敏工具类 创建一个工具类 SensitiveDataUtils,用于实现对敏感数据加密和脱敏操作。...这样,在调用标记了 @SensitiveData 注解方法前,会先对敏感数据进行加密。 9. 测试 创建一个简单Controller进行测试。...希望本文对你在Spring Boot项目中实现数据加密和脱敏提供了一些有用思路。 结尾 ❤️ 感谢您支持和鼓励!

    2K10

    简单实现MySQL数据日志审计

    0x0 背景 由于MySQL社区版没有自带审计功能或插件,对于等级保护当中对数据库管理要求就存在一定不满足情况,抛开条条框框不说数据日志是值得研究,通过收集数据日志到企业SOC平台便于安全事件溯源与故障分析...根据等级保护内容第四章“数据库管理系统安全技术要求”中 第四节“数据库安全审计”中明确提出数据库管理系统安全审计应: 1. 建立独立安全审计系统; 2. 定义与数据库安全相关审计事件; 3....设置专门安全审计员; 4. 设置专门用于存储数据库系统审计数据安全审计库; 5. 提供适用于数据库系统安全审计设置、分析和查阅工具。...0x1 部署插件 为了节省购买一些安全设备费用,可以尝试使用一些开源日志审计插件。Mysql-audit是macfee公司基于percona开发MySQLSQL审计插件。...通过插件方式可以实现mysql日志审计通过ELK框架实现日志保存与分析,再通过后期写一些脚本分析可以实现安全检测与业务分析等多个功能,关键是零成本特别适合那些”一个人安全部”有此需求同行们.

    1.8K41

    敏感数据实现“一键脱敏”!

    来源:sourl.cn/uLCCPw 在真实业务场景中,数据库中经常需要存储某些客户关键性敏感信息如:身份证号、银行卡号、姓名、手机号码等,此类信息按照合规要求,通常需要实现加密存储以满足合规要求。...痛点二 对于一些为了快速上线而一开始没有实现合规脱敏系统,如何比较快速使得已有业务满足合规要求同时,尽量减少对原系统改造。...通常这个过程至少包括: 新增脱敏存储 同时做数据迁移 业务代码做兼容逻辑等 Apache ShardingSphere下面存在一个数据脱敏模块,此模块集成常用数据脱敏功能。...其基本原理是对用户输入SQL进行解析拦截,并依靠用户脱敏配置进行SQL改写,从而实现对原文字段加密及加密字段解密。最终实现对用户无感加解密存储、查询。...创建脱敏配置规则对象 在创建数据源之前,需要准备一个EncryptRuleConfiguration进行脱敏配置,以下是一个例子,对于同一个数据源里两张表card_info,pay_order不同字段进行

    1.9K20

    新功能简介|MySQL8.0数据查询脱敏

    数据库管理员会负责维护数据隐私和完整性。针对数据脱敏,通常方案是:应用端实现或者引入加密机等。...不过现在MySQL8.0实现数据脱敏这个功能,可以减少应用复杂性、减少开发工作量,也能友好保护了数据隐私和完整性。...在8.0.13企业版中推出插件“data_masking.so”,可以实现数据脱敏操作。 可以实现例如:银行卡号中后四位为X字符、生产随机数据、例如电子邮件地址和支付卡号等......Percona MySQL Server实现了类似的功能。...简单举例 1.1创建表 ? 1.2 创建视图做比对 ? 1.3 结果对比 ? 目前Percona MySQL Server 对此功能没有GA,现在不能在生产环境使用。

    1.8K10

    一个注解,实现数据脱敏-plus版

    当看到这个文章名时候,是不是很熟悉,是的shigen之前发表了一个这个题目一样文章,今天是plus加强版。...背景 在shigen之前文章一个注解,实现数据脱敏中,有一位读者提到了一个优化项目,优化代码参考: 正巧这是个周末,我再次对我代码根据这个优化项目优化了一下,代码地址在这里,感兴趣伙伴可以去看看。...区别于代码案例作者,这里定义了Customer类型脱敏实现用户自定义隐藏字符。...SensitiveJsonSerializer 这里定义方法和上一版本基本一致,从注解中获得参数值,然后调用在枚举中方法,实现数据脱敏。 使用 在使用上和之前也没什么区别。...我们新建一个接口测试一下: 输出结果也是符合预期。 以上就是今天分享全部内容了,觉得不错的话,记得点赞 在看 关注支持一下哈,您鼓励和支持将是shigen坚持日更动力。

    29140

    SpringBoot 采用JsonSerializer和Aop 实现可控制数据脱敏

    起因最近在写一个功能,对用户敏感数据进行脱敏,在网上看一圈基本上都是全局范围,我觉得应该更加灵活,在不同场景,不同业务下进行脱敏更加合适。...return tmpKey.toString(); } else { return tmpKey.toString(); } } }复制代码注解使用 效果的确实现数据脱敏...,但是有个问题现在脱敏针对是 只要对该实体类进行了使用返回接口,中数据都会进行脱敏,在有些场景下是不需要,所以说要进行改进。...第二版改进我思路是在该实体类中在继承一个 父类其中定义一个字段,使其作为是否进行脱敏开关,并且该实体类字段不参与序列化 脱敏控制类public class DataMaskKey implements...,在进行手动set即可最终方案在上述情况下可以实现 手动控制是否在某些场景下脱敏,但是需要对原来代码进行修改,我觉得不友好,所以采用aop形式进行控制 项目的返回类型基本上为两种实体类作为返回分页返回

    77010
    领券