将生产环境数据导出至测试环境或别的环境中,需将手机号、银行卡账号、姓名、身份证号及一些业务中的敏感数据进行脱敏,在mysql中可以通过以下方法根据实际应用进行处理.
DELIMITER $$
CREATE FUNCTION `f_get_rand_number`(p_size int) RETURNS int(20)COMMENT '取参数传入长度的随机数'
BEGIN
-- select f_get_rand_number(4) ; -- 1699
DECLARE v_rand_number int(20);
DECLARE v_multiplier int;
if p_size>20 then
set p_size = 20;
end if;
set v_multiplier=RPAD('1',p_size,'0');
SELECT ROUND(RAND() * v_multiplier + v_multiplier) INTO v_rand_number;
RETURN v_rand_number;
END$$
DELIMITER ;
DELIMITER $$
CREATE FUNCTION `f_padding_str`(p_original varchar(200),p_index int ,p_padding_str varchar(1)) RETURNS varchar(200) CHARSET utf8
COMMENT '数据脱敏 将p_original从p_index位后替换成p_padding_str'
BEGIN
-- select f_padding_str('良好压顶奇才',4,'某'); -- 良好压顶某某
declare v_rtn_st
数据库敏感数据脱敏处理方法

本文介绍如何在MySQL环境中,通过自定义函数对手机号、银行卡账号、姓名、身份证号等敏感数据进行脱敏处理,确保数据在迁移过程中安全性。
最低0.47元/天 解锁文章
658

被折叠的 条评论
为什么被折叠?



