Python使用MD5码加密手机号等敏感信息

有时候身份证,手机号这种敏感信息不能用明文发生,需要使用MD5码进行加密。,怎么用python加密手机号呢。很简单,就用hashlib库就行,。

先导入包

python 复制代码
import hashlib
import pandas as pd
import os

定义手机号MD5加密函数

python 复制代码
# 定义MD5加密函数
def encrypt_phone_md5(phone):
    """对手机号进行MD5加密"""
    # 处理可能的空值
    if pd.isna(phone):
        return None
    # 确保手机号是字符串类型
    phone_str = str(phone).strip()
    # 检查是否是有效的11位手机号格式
    if len(phone_str) == 11 and phone_str.isdigit():
        md5 = hashlib.md5()
        md5.update(phone_str.encode('utf-8'))
        return md5.hexdigest()
    else:
        # 不是有效手机号格式,返回原内容或根据需要处理
        return phone_str

我们可以先读取数据查看一下

python 复制代码
df=pd.read_excel('2025未知异常用户.xlsx')
df.head()

可以看到原始数据一列,就是手机号(打了个码)。

然后使用下面函数就可以加密了

python 复制代码
# 文件路径设置
input_file = '2025年未知异常用户.xlsx'      # 输入的文件名
output_file = '2025年未知异常用户_MD5加密.xlsx'  # 输出的加密后文件名

# 检查输入文件是否存在
if not os.path.exists(input_file):
    print(f"错误:找不到输入文件 '{input_file}'")
else:
    try:
        # 读取CSV文件
        df = pd.read_excel(input_file)
        
        # 检查是否存在phone列
        if 'mobile' not in df.columns:
            print("错误:表格中不存在'mobile'列")
        else:
            # 对phone列的手机号进行MD5加密
            df['MD5'] = df['mobile'].apply(encrypt_phone_md5)
            
            # 保存加密后的数据到新的CSV文件
            df.to_excel(output_file, index=False)
            print(f"手机号加密完成,已保存至 '{output_file}'")
            
            # 显示前几行查看结果
            print("\n加密后数据示例:")
            display(df.head())
            
    except Exception as e:
        print(f"发生错误:{str(e)}")    

可以看到原始手机号和加密之后的MD5码了。

MD5码没有解密的方法,只能用原始彩虹表去匹配。所以就算文件泄露了,被坏人拿到了MD5码也是没用的,需要原始彩虹表才能匹配还原出原来的手机号。

相关推荐
喵叔哟16 分钟前
6.配置管理详解
后端·python·flask
曾经的三心草19 分钟前
基于正倒排索引的Java文档搜索引擎3-实现Index类-实现搜索模块-实现DocSearcher类
java·python·搜索引擎
MOMO陌染1 小时前
Python 饼图入门:3 行代码展示数据占比
后端·python
vvoennvv2 小时前
【Python TensorFlow】 TCN-GRU时间序列卷积门控循环神经网络时序预测算法(附代码)
python·rnn·神经网络·机器学习·gru·tensorflow·tcn
自学互联网2 小时前
使用Python构建钢铁行业生产监控系统:从理论到实践
开发语言·python
无心水2 小时前
【Python实战进阶】7、Python条件与循环实战详解:从基础语法到高级技巧
android·java·python·python列表推导式·python条件语句·python循环语句·python实战案例
漏洞文库-Web安全2 小时前
【CTF】关于md5总结
安全·web安全·网络安全·ctf·md5
懒麻蛇2 小时前
从矩阵相关到矩阵回归:曼特尔检验与 MRQAP
人工智能·线性代数·矩阵·数据挖掘·回归
xwill*2 小时前
RDT-1B: A DIFFUSION FOUNDATION MODEL FOR BIMANUAL MANIPULATION
人工智能·pytorch·python·深度学习
陈奕昆3 小时前
n8n实战营Day2课时2:Loop+Merge节点进阶·Excel批量校验实操
人工智能·python·excel·n8n