跳到内容
🛠️ToolsShed

2FA Backup Code Generator

生成密码安全的双因素认证备份代码。

关于此工具

双因素认证(2FA)通过在密码之外要求第二种验证方法(如来自身份验证器应用或短信的代码),显著提高了账户安全性。但是,如果您无法访问您的身份验证器设备或SIM卡,备份代码就成为了关键的恢复手段。这些一次性使用代码允许您在主要2FA方法不可用时重新获得对账户的访问权限,因此是任何强大安全策略的必要组成部分。

此工具生成密码学安全的备份代码,您可以将其用作Google、GitHub、AWS、Slack等服务的恢复选项。只需选择要生成的代码数量(6至16个),点击"生成",该工具就会使用浏览器的安全随机数生成器创建唯一的字母数字代码。之后您可以复制代码、打印以供物理存储、标记已使用的代码,并追踪剩余数量——所有这些都在您的浏览器中处理,无需在任何服务器上存储数据。

将您的备份代码存储在与计算机分开的安全私密位置,例如上锁的抽屉、保险箱或密码管理器。通常,每个代码只能使用一次,一旦用尽就需要生成新的代码集。许多人会在安全的地方保存一份打印副本,并在加密的密码保险库中保存一份数字副本。请记住,这些代码与您的密码一样敏感,因此切勿共享,并以对待最关键的身份验证凭证相同的安全级别对待它们。

常见问题

代码实现

import secrets
import string

def generate_backup_code(length: int = 8) -> str:
    """Generate a single 2FA backup code in XXXX-XXXX format."""
    alphabet = string.ascii_uppercase + string.digits
    # Remove ambiguous characters
    alphabet = alphabet.replace('O', '').replace('0', '').replace('I', '').replace('1', '')
    code = ''.join(secrets.choice(alphabet) for _ in range(length))
    return f"{code[:4]}-{code[4:]}"

def generate_backup_codes(count: int = 10) -> list[str]:
    """Generate a set of unique 2FA backup codes."""
    codes = set()
    while len(codes) < count:
        codes.add(generate_backup_code())
    return sorted(codes)

# Generate 10 backup codes
codes = generate_backup_codes(10)
for i, code in enumerate(codes, 1):
    print(f"{i:2}. {code}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.