avatar
Мир аналитика данных
@analysts_world
12.03.2024 09:02
Первый раз столкнулась с шифрованием.

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

Что такое вообще это ваше хеширование.
Это преобразование информации с помощью особых математических формул. В результате возникает хеш — отображение данных в виде короткой строки, в идеале — уникальной для каждого набора информации. Размер строки может быть одинаковым для информации разного объема.

Причем хеш-функций существует очень много, они различаются методами вычислений, назначением, надежностью и другими параметрами.
Основная цель – проверка информации и хранение конфиденциальных данных.


Создадим небольшой датафрейм с номерами телефонов для тестирования
data = {'phone': [9055548974, 9876543210, 5551234567, 7778889999]}
df = pd.DataFrame(data)


способ - с использованием библиотеки hashlib:
Сначала определяется функция hash_phone_number, которая принимает строку с номером телефона, кодирует его в байты и затем вычисляет SHA-256 хэш с помощью hashlib.sha256().

import hashlib
def hash_phone_number(phone_number):
return hashlib.sha256(phone_number.encode()).hexdigest()

df['code1'] = df['phone'].astype(str).apply(hash_phone_number)


способ – с использованием уже готовой функции hash()

df['code2'] = df['phone'].astype(str).apply(lambda x: hash(x))


В результате получаем два варианта уникального кода номеров телефонов. Можно и пароли так хэшировать.

P.S. Все кто оставлял заявку в гугл-форме на следующий поток, пишите в поле свой ТГ ник не просто как отображается имя в телеге, а таким образом: пример моего ника - @Valeria_Shuvaeva, чтобы я Вас могла найти. Это можно найти в Settings. Если я кому-то не пишу, то значит просто не смогла Вас найти
Ссылка тут - 🔗 заявка
17
👍 7
11 3K

Обсуждение 0

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram