You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3实现类Bitwarden随机词生成器:单词末尾加随机数字

Python3 随机短语生成器(带单词加随机数字功能)

解决随机单词加数字的字符串处理问题

假设你已经能从词库中生成随机单词列表,以下是实现随机选一个单词末尾追加0-9数字的核心代码:

完整生成函数示例

import random

def generate_bitwarden_style_passphrase(word_list, num_words=4):
    # 从词库随机选取指定数量的不重复单词
    selected_words = random.sample(word_list, num_words)
    # 随机挑选一个单词的索引
    target_pos = random.randint(0, len(selected_words) - 1)
    # 给选中的单词追加0-9的随机数字
    selected_words[target_pos] = f"{selected_words[target_pos]}{random.randint(0, 9)}"
    # 用连字符拼接成最终短语(Bitwarden默认格式)
    return "-".join(selected_words)

如果你已有生成好的短语字符串

如果你的代码已经生成了类似"apple banana cherry date"的字符串,可按以下步骤修改:

original_phrase = "apple banana cherry date"
# 拆分字符串为单词列表
word_list = original_phrase.split()
# 随机选一个位置
target_pos = random.randint(0, len(word_list) - 1)
# 追加随机数字
word_list[target_pos] += str(random.randint(0, 9))
# 重新拼接成短语
modified_phrase = "-".join(word_list)

关键逻辑说明:

  • 用random.randint确定要修改的单词位置,确保随机性
  • 通过列表修改直接替换目标单词,避免字符串拼接的繁琐
  • 最终用连字符(或空格)拼接,符合密码短语的易读性要求

优质词库推荐

系统自带词库(Linux/macOS)

直接使用系统内置的英文单词库,路径为/usr/share/dict/words,包含数万条英文单词。读取时可过滤掉短单词(比如长度≥4),提升密码安全性:

with open('/usr/share/dict/words', 'r') as f:
    # 过滤短单词并转为小写
    valid_words = [word.strip().lower() for word in f if len(word.strip()) >= 4]

EFF密码短语词库

电子前沿基金会(EFF)专为密码安全设计的词库,分为三个版本:

  • 短词库(1296个单词):适合快速输入,单词长度3-4字符
  • 长词库(7776个单词):安全性更高,单词长度5+字符,均为易记常用词
    你可以将词库内容保存为本地TXT文件(每行一个单词),直接读取使用。

中文自定义词库

如果需要生成中文短语,可自行整理无歧义、易拼写的常用词语(比如双字词、三字词),保存为TXT文件后读取,注意编码格式为UTF-8。

内容的提问来源于stack exchange,提问作者Ori

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:45:43