mysql脫敏測試環境實現物理脫敏

實現場景及需求:
由於業務需求:包含顧客隱私不被泄露,將在測試環境進行數據庫脫敏操做python

python 3.6mysql

實現方法,截取訂單後四位數字,截取顧客前7位電話號碼,實現字符串拼接,將7位電話號碼和後4位訂單號進行拼接,而後直接修改數據庫sql

import pymysql

conn = pymysql.connect(
    host='serverIP',
    port=3306,
    user='username',
    passwd='password',
    db='DBname',
    charset='utf8')

cursor = conn.cursor()
sql_select = 'select shop_id,phone_num from shopcar'
res = cursor.execute(sql_select)
result = cursor.fetchall()

for i in result :
        only_id = i[0]
        only_int = str(only_id)[-4:]
        phone_num = i[1]
        phone_int=str(phone_num)[:7]
        m_sql=phone_int+only_int
        min_sql=int(m_sql)
        sql='update shopcar set phone_num="%s" where shop_id="%s"' % (m_sql,only_id)
        cursor.execute(sql)

conn.commit()
cursor.close()
conn.close()

結果:數據庫

mysql> select * from shopcar;
+---------+-------------+--------------------+
| shop_id | phone_num   | auth_num           |
+---------+-------------+--------------------+
| 1245780 | 15816905780 | 429322199008084023 |
| 1245781 | 15816905781 | 429322199008084024 |
| 1245782 | 15816905782 | 429322199008084022 |
| 1245783 | 15816905783 | 429322199008084011 |
+---------+-------------+--------------------+
4 rows in set (0.00 sec)

mysql>
相關文章
相關標籤/搜索