弱密码问题一直是网络安全领域的一个重大挑战。许多人为了方便记忆,倾向于使用简单、常见的密码,如“123456”、“password”或者他们的生日等,这些密码很容易被猜测或通过暴力破解方法攻破。弱密码的使用大大增加了账户被黑客入侵的风险,可能导致个人信息泄露、财产损失甚至更严重的后果。一个强大的密码可以帮助保护我们的个人信息和网络资产免受未经授权的访问。虽然Linux系统中的pwgen命令行工具能够生成安全的随机密码,但它可能对于非技术用户来说不够直观和友好。为了解决这个问题,PwGen安全密码生成器应运而生,它是一个通过Docker部署的基于Web的应用程序,旨在为用户提供一个更加友好和易于使用的密码生成解决方案。
特性
-
用户友好的界面:提供了一个直观的界面,方便用户查看和复制生成的密码或短语。
-
安全检查:通过与haveibeenpwned数据库的API集成,确保生成的密码未被泄露,增强了密码的安全性。
-
离线模式:允许在没有外部API访问的环境下使用,适用于隔离网络或注重隐私保护的情况。
-
环境变量配置:用户可以通过环境变量自定义密码和短语生成的默认设置,便于快速生成符合特定要求的密码。
-
多重生成:支持同时生成多达5个密码或短语,提高了效率和便捷性。
-
渐进式Web应用(PWA):确保了跨设备的无缝体验,用户可以在不同的设备上方便地使用。
-
全面的密码生成选项:提供了包含大写字母、数字、特殊字符的密码生成选项,并可以选择排除容易混淆的字符。
-
灵活的短语生成:用户可以选择单词的首字母大写、分隔符类型以及是否包含数字或特殊字符。
官方提供了在线演示:https://pwgen.joonatanh.com
部署
docker cli
命令行部署,确保5069
端口未被使用,如果有在使用可以使用其他未被使用的端口。
docker run -d \
--name pwgen \
-p 5069:5069 \
-e MULTI_GEN=true \
-e PW_LENGTH=12 \
-e PW_INCLUDE_UPPERCASE=true \
-e PW_INCLUDE_DIGITS=true \
-e PW_INCLUDE_SPECIAL=true \
-e PW_EXCLUDE_HOMOGLYPHS=true \
--restart unless-stopped \
jocxfin/pwgen:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
pwgen:
image: jocxfin/pwgen:latest
container_name: pwgen
ports:
- 5069:5069
environment:
- MULTI_GEN=true
- PW_LENGTH=12
- PW_INCLUDE_UPPERCASE=true
- PW_INCLUDE_DIGITS=true
- PW_INCLUDE_SPECIAL=true
- PW_EXCLUDE_HOMOGLYPHS=true
restart: unless-stopped
然后执行下面的命令:
# 新建文件夹 pwgen 并进入 pwgen 目录
mkdir -p ./pwgen && cd ./pwgen
# 将上面的 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
使用
在浏览器中输入 http://IP:5069
(IP是Docker宿主机的IP) 就能看到主界面
安全密码
- Include Uppercase Letters:包含大写字母
- Include Digits:包含数字
- Include Special Characters:包含特殊字符
- Exclude Homoglyphs: 排除容易混淆的字符
- Length:生成的密码长度
前四项为开关项,可根据需要启用或关闭,每次开关,或者点 Generate
会生成新的密码
密码短语
开启 Generate Passphrase
后,会生成密码短语
- Capitalize Words:大写单词
- Include Numbers:包含数字
- Include Special Characters:包含特殊字符
- Language:支持英语/芬兰语/自定义列表
- Separator:分隔符,支持下面几种模式:
- Dash:使用破折号作为分隔符或添加到密码短语的特定位置
- Random Number:表示在密码中插入一个随机生成的数字
- Random Special Character:表示在密码中插入一个随机生成的特殊字符,例如 !@#$%^&* 等
- Space : 使用空格作为分隔符或添加到密码短语的特定位置
- User Defined:表示用户可以自定义密码生成模式中的某些元素,例如指定特定的单词、符号、数字等
- Max Word Length:最大单词长度
- Word Count:单词数量
结语
PwGen安全密码生成器为用户提供了一个简单、安全且易于使用的方式来生成和管理他们的密码。无论你是技术专业人士还是普通用户,都可以从PwGen的便捷性和强大的功能中受益。通过使用PwGen,你可以确保自己的密码强度和安全性,从而更好地保护自己的数字生活。
参考文档
jocxfin/pwgen: Simple self hosted password generator
地址:https://github.com/jocxfin/pwgen