Simple data anonymization

From LemonWiki共筆
Jump to navigation Jump to search

Simple data anonymization 使用 Excel 或 MySQL 資料庫查詢方式,做簡易個資去識別化


case1: 王小明 --> 王OO

ex:

  • 楊過 -> 楊OO
  • 王小明 --> 王OO
  • 孤獨求敗 --> 孤OO


methods

  • Excel:
    • =REPLACE(A2, 2, LEN(A2)-1, "OO") also applied for 3 or 4 words
    • =REPLACE(A2, 2, 2, "O") Icon_exclaim.gif only applied for 3 words, NOT for 4 words
  • MySQL:
-- SET @name := "楊過"; /* 楊過 -> 楊OO */
SET @name := "王小明"; /* 王小明 --> 王OO */
-- SET @name := "孤獨求敗"; /* 孤獨求敗 --> 孤OO */
-- SET @name := "Guo da-xia"; /* Guo da-xia --> GOO */

SELECT CONCAT(LEFT(@name, 1), 'OO');

case2: 王小明 --> 王O明

ex: 王小明 --> 王O明

  • Excel:
    • =REPLACE(A2, 2, LEN(A2)-2, "O") also applied for 3 or 4 words ex: 王王小明 -> 王O明
    • =REPLACE(A2, 2, 1, "O")[1] Icon_exclaim.gif only applied for 3 words, NOT for 4 words
  • PHP: using regular_replace
$string = '王小明';
$pattern = '/^(\X)(\X)(\X+)/u';
$replacement = '$1O$3';
echo preg_replace($pattern, $replacement, $string);
  • MySQL: using SUBSTRING
SELECT CONCAT(SUBSTRING_INDEX('王小明', SUBSTRING('王小明', 2, 1), 1), 
SUBSTRING('王小明', 2, 1),
SUBSTRING_INDEX('王小明', SUBSTRING('王小明', 2, 1), -1));



reference

further reading