当前位置: 首页 > web >正文

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

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

先导入包

import hashlib
import pandas as pd
import os

定义手机号MD5加密函数

# 定义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

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

df=pd.read_excel('2025未知异常用户.xlsx')
df.head()

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

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

# 文件路径设置
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码也是没用的,需要原始彩虹表才能匹配还原出原来的手机号。

http://www.xdnf.cn/news/9768.html

相关文章:

  • UI自动化测试的革新,新一代AI工具MidScene.js实测!
  • leetcode450.删除二叉搜索树中的节点:迭代法巧用中间节点应对多场景删除
  • wechat-003-学习笔记
  • 服务器密码安全运维解决新思路:凭据管理SMS+双因素SLA认证结合的方案
  • 3d GIS数据来源与编辑工具
  • OpenAI o3安全危机:AI“抗命”背后的技术暗战与产业变局
  • 使用微软最近开源的WSL在Windows上优雅的运行Linux
  • 【笔记】Trae+Andrioid Studio+Kotlin开发安卓WebView应用
  • 位集合(STL bitset)简介
  • Starrocks 物化视图的实现以及在刷新期间能否读数据
  • 分布式不同数据的一致性模型
  • Java开发经验——阿里巴巴编码规范实践解析8
  • RK3568DAYU开发板-平台驱动开发--UART
  • 传输层协议TCP(上)
  • 【Linux】线程概念
  • 时序数据库IoTDB基于云原生的创新与实践
  • 20250529
  • Linux 开发工具
  • 第6讲、 Odoo 18 `tools` 模块深度分析
  • leetcode450.删除二叉搜索树中的节点:递归法利用有序性处理四种删除场景
  • 动态规划法在解决实际问题中的应用
  • RPG改进1.轻击与重击的搭配与连续释放
  • Java设计模式之中介者模式详解
  • 【科研绘图系列】R语言绘制森林图(forest plot)
  • json中对象转字符串和字符串转对象的方法
  • RISC-V PMA、PMP机制深入分析
  • Java -- 并发编程
  • 【图像处理基石】立体匹配的经典算法有哪些?
  • CTA-861-G-2017中文pdf版
  • Java面试实战:从Spring Boot到微服务与AI的全栈挑战