Вы случайно не PHP Middle?
Разработка
NTA
776

Анонимизация данных с помощью Python

Одним из простых способов обезличивания данных может быть использование языка Python. Работать можно с файлами в любом формате, как в текстовом (.csv), так и в формате. xlsx. Мы будем использовать модуль pandas для удобства обработки.

В закладки
import pandas as pd data = pd.read_excel('Информация.xlsx')

Загружаем данные в DataFrame, и определяем с какими данными будем работать.

Рис.1 Исходные данные

Есть два основных подхода к обфускации данных:

— Замена данных уникальным ключом. Это позволяет гарантировать на 100% невозможность восстановления исходной информации, если у нас нет таблицы соответствия ключ-данные,

— Кодирование. В этом случае мы используем специальные функции для того, чтобы сформировать однозначное соответствие между данными и выходным значением, например, хэширование. Хэширование позволяет в дальнейшем сравнивать между собой разные наборы данных, используя хэши. Однако риск восстановления информации из хэша есть, хоть и минимальный.

Рассмотрим вариант с формированием ID записи. Для этого мы будем использовать ранжирование записей по группе.

data['id'] = data[['Имя', 'Дата рождения']].\ apply(tuple, axis = 1).\ rank(method = 'dense')

Формируем группы из необходимых столбцов, и применяем к ним функцию ранжирования. Получаем новый столбец, который содержит ID, уникально идентифицирующий клиента:

Рис. 2 Данные с уникальным столбцом-идентификатором клиента

Теперь рассмотрим пример получения хэша для номера счёта. Импортируем библиотеку hashlib, и с её помощью формируем хэш для каждой из строк

import hashlib data['hash'] = data['Счёт'].\ apply(lambda x: hashlib.md5(str(x).encode('utf-8')).hexdigest())

По полученному результату видно, что для одинаковых счетов мы получаем одинаковые хэши.

Рис. 3 Пример хэша

Таким образом мы можем получить файл, в котором все личные данные клиента скрыты, тем самым гарантируя анонимность при дальнейшей работе с ними. Это крайне актуально в случае, например, удалённой работы.

Лайфхаки IT, проверенные AI-решения для стандартных задач
{ "author_name": "NTA", "author_type": "editor", "tags": [], "comments": 0, "likes": 4, "favorites": 18, "is_advertisement": false, "subsite_label": "dev", "id": 138159, "is_wide": true, "is_ugc": false, "date": "Thu, 02 Jul 2020 19:01:21 +0300", "is_special": false }
Трибуна
Как мы запустили приложение «Республики»
Рассказывает Ксения Дроздова, CEO & Product Owner Imshop.io, совместно с Леонидом Гладилиным, CDTO «Республики».
Объявление на vc.ru
0
Комментариев нет
Популярные
По порядку

Комментарии