mysql資料脫敏處理方法

2021-07-05 20:29:39 字數 2356 閱讀 3771

將生產環境資料匯出至測試環境或別的環境中,需將手機號、銀行卡賬號、姓名、身份證號及一些業務中的敏感資料進行脫敏,在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_str varchar(200);

declare v_len int;

if p_original is null then

return '';

end if;

if char_length(p_original)>200 then

set p_original = substring(p_original,1,200);

end if;

set v_len = char_length(p_original);

set v_rtn_str = rpad(substring(p_original,1,p_index),v_len,p_padding_str);

return v_rtn_str;

end$$

delimiter ;

delimiter $$

create  function `f_replace_str`(p_original varchar(200),p_index int ,p_size int,p_replace_str varchar(100)) returns varchar(200) charset utf8

comment '資料脫敏 將p_original從p_index位後p_size長度的字串替換成p_replace_str'

begin

-- select f_replace_str('12345678',2,3,'bbb'); -- 1bbb5678

-- select f_replace_str('12345678',2,0,'bbb'); -- 1bbb

-- select f_replace_str('12345678',-2,0,'bbb');-- 123456bbb

declare v_rtn_str varchar(200);

declare v_sub_str varchar(100);

if p_original is null then

return '';

end if;

if char_length(p_original)>200 then

set p_original = substring(p_original,1,200);

end if;

-- 當p_size為0時,則將p_index後所有字元替換為p_replace_str

if p_size =0 then

set v_sub_str = substring(p_original,p_index);

else

set v_sub_str = substring(p_original,p_index,p_size);

end if;

set v_rtn_str = replace(p_original,v_sub_str,p_replace_str);

return v_rtn_str;

end$$

delimiter ;

位址 脫敏規則 資料脫敏的處理方法

背景 需要在非生產環境下對敏感資訊進行資料脫敏,實現敏感隱私資料的可靠保護。脫敏資料特徵 1.保持原有資料特徵 例如身份證由17位數字本體碼和1位檢驗碼組成。2.保持資料之間一致性 出生年月和出生日期之間的關係。3.保持業務規則的關聯性。4.多次脫敏之間的資料一致性。脫敏的方法 1.資料替換 要求 ...

mysql資料脫敏

將生產環境資料匯出至測試環境或別的環境中,需將手機號 銀行卡賬號 姓名 身份證號及一些業務中的敏感資料進行脫敏,在mysql中可以通過以下方法根據實際應用進行處理.delimiter create function f get rand number p size int returns int 2...

mysql 中文脫敏 怎樣選擇資料庫脫敏系統?

目前國內廠商對資料脫敏產品已經區分靜態資料脫敏與動態資料脫敏,我分別說下這兩款產品如何選擇,應具備的功能有哪些,一款好的靜態脫敏產品應具備以下功能 確保資料脫敏有效性 保證脫敏後的資料能夠準確反映原始資料的業務屬性和資料分布特徵,例如對於原始資料中的姓名 位址 病症 企業名稱等資訊需要在脫敏後仍然具...