importrandom# 第一步:定义纯英文百家姓列表(传统顺序,前100个常见姓氏)chinese_surnames_english=["Zhao","Qian","Sun","Li","Zhou","Wu","Zheng","Wang","Feng","Chen","Chu","Wei","Jiang","Shen","Han","Yang","Zhu","Qin","You","Xu","He","Lv","Shi","Zhang","Kong","Cao","Yan","Hua","Jin","Wei","Tao","Jiang","Qi","Xie","Zou","Yu","Bai","Shui","Dou","Zhang","Yun","Su","Pan","Ge","Xi","Fan","Peng","Lang","Lu","Wei","Chang","Ma","Miao","Feng","Hua","Fang","Yu","Ren","Yuan","Liu","Feng","Bao","Shi","Tang","Fei","Lian","Cen","Xue","Lei","He","Ni","Tang","Teng","Yin","Luo","Bi","Hao","Shao","Wang","Qi","Mao","Yu","Di","Mi","Bei","Ming","Zang","Ji","Fu","Cheng","Dai","Tan","Song","Mao","Pang","Xiong","Ji","Shu","Qu","Xiang","Zhu","Dong","Liang","Du"]defgenerate_mobile_number():""" 生成符合中国大陆规范的11位手机号码 运营商号段:移动(134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188) 联通(130,131,132,155,156,185,186) 电信(133,153,180,181,189) """# 定义合法手机号段前缀mobile_prefixes=["130","131","132","133","134","135","136","137","138","139","150","151","152","153","155","156","157","158","159","180","181","182","183","184","185","186","187","188","189"]# 随机选择前缀prefix=random.choice(mobile_prefixes)# 生成后8位随机数字(补足11位)suffix=''.join([str(random.randint(0,9))for_inrange(8)])# 拼接并返回完整手机号returnprefix+suffixdefgenerate_password_book(password_count,save_filename="百家姓+手机号密码本1.txt"):""" 生成密码本:格式为「百家姓英文+手机号码」 :param password_count: 要生成的密码数量 :param save_filename: 保存的文件名 """password_book=[]# 循环生成指定数量的密码for_inrange(password_count):# 随机选择一个百家姓英文姓氏random_surname=random.choice(chinese_surnames_english)# 生成随机合法手机号码random_mobile=generate_mobile_number()# 拼接:英文姓氏 + 手机号码(核心格式)password=random_surname+random_mobile password_book.append(password)# 将密码本写入txt文件withopen(save_filename,"w",encoding="utf-8")asf:f.write("百家姓英文+手机号码 密码本\n")f.write("="*30+"\n")f.write(f"密码总数:{password_count}\n")f.write("密码格式:英文姓氏 + 11位手机号码\n")f.write("="*30+"\n\n")# 逐行写入密码,带序号foridx,pwdinenumerate(password_book,1):f.write(f"{pwd}\n")print(f"密码本生成成功!")print(f"文件名:{save_filename}")print(f"生成密码数量:{password_count}")print(f"密码示例:{password_book[0]ifpassword_bookelse'无'}")# 主程序调用(可自定义生成密码数量)if__name__=="__main__":# 生成200个密码(可修改数字,如100、500等)generate_password_book(password_count=200)python语言百家姓+手机号密码本程序代码
张小明
前端开发工程师
StrmAssistant:为Emby用户打造的免费智能助手完整指南
StrmAssistant:为Emby用户打造的免费智能助手完整指南 【免费下载链接】StrmAssistant Strm Assistant for Emby 项目地址: https://gitcode.com/gh_mirrors/st/StrmAssistant 想要让您的Emby媒体服务器变得更智能、更高效吗?StrmAssistant正是您…
5步搞定OpenCLIP Docker部署:从零搭建AI视觉语言模型服务
5步搞定OpenCLIP Docker部署:从零搭建AI视觉语言模型服务 【免费下载链接】open_clip An open source implementation of CLIP. 项目地址: https://gitcode.com/GitHub_Trending/op/open_clip 想要快速搭建一个功能完整的AI视觉语言模型服务吗?Op…
Wan2GP实战指南:从零开始掌握AI视频生成技术
Wan2GP实战指南:从零开始掌握AI视频生成技术 【免费下载链接】Wan2GP Wan 2.1 for the GPU Poor 项目地址: https://gitcode.com/gh_mirrors/wa/Wan2GP Wan2GP是一个功能强大的AI视频生成工具,能够将文本描述或静态图像转化为动态视频内容。无论你…
Godot引擎动态更新技术:零停机部署方案深度解析
Godot引擎动态更新技术:零停机部署方案深度解析 【免费下载链接】godot Godot Engine,一个功能丰富的跨平台2D和3D游戏引擎,提供统一的界面用于创建游戏,并拥有活跃的社区支持和开源性质。 项目地址: https://gitcode.com/GitHu…
为什么你的Java应用内存持续飙升?深入剖析DirectByteBuffer释放机制
第一章:为什么你的Java应用内存持续飙升?Java 应用在运行过程中出现内存持续飙升的情况,往往是由于对象未被及时回收或资源泄漏导致的。JVM 虽然具备自动垃圾回收机制,但开发者仍需关注对象生命周期管理,否则容易引发 …
JUCE音频插件开发终极指南:从入门到精通的完整学习路径
你是否曾经梦想创建自己的专业音频插件,却被复杂的底层API和跨平台兼容性困扰?JUCE框架正是为解决这些痛点而生。作为一套完整的C音频开发解决方案,JUCE让开发者能够专注于音频算法本身,而无需在繁琐的平台适配中消耗精力。 【免费…