【Github】PwGen用户友好的Web应用密码生成器

弱密码问题一直是网络安全领域的一个重大挑战。许多人为了方便记忆,倾向于使用简单、常见的密码,如“123456”、“password”或者他们的生日等,这些密码很容易被猜测或通过暴力破解方法攻破。弱密码的使用大大增加了账户被黑客入侵的风险,可能导致个人信息泄露、财产损失甚至更严重的后果。一个强大的密码可以帮助保护我们的个人信息和网络资产免受未经授权的访问。虽然Linux系统中的pwgen命令行工具能够生成安全的随机密码,但它可能对于非技术用户来说不够直观和友好。为了解决这个问题,PwGen安全密码生成器应运而生,它是一个通过Docker部署的基于Web的应用程序,旨在为用户提供一个更加友好和易于使用的密码生成解决方案。

特性

  1. 用户友好的界面:提供了一个直观的界面,方便用户查看和复制生成的密码或短语。

  2. 安全检查:通过与haveibeenpwned数据库的API集成,确保生成的密码未被泄露,增强了密码的安全性。

  3. 离线模式:允许在没有外部API访问的环境下使用,适用于隔离网络或注重隐私保护的情况。

  4. 环境变量配置:用户可以通过环境变量自定义密码和短语生成的默认设置,便于快速生成符合特定要求的密码。

  5. 多重生成:支持同时生成多达5个密码或短语,提高了效率和便捷性。

  6. 渐进式Web应用(PWA):确保了跨设备的无缝体验,用户可以在不同的设备上方便地使用。

  7. 全面的密码生成选项:提供了包含大写字母、数字、特殊字符的密码生成选项,并可以选择排除容易混淆的字符。

  8. 灵活的短语生成:用户可以选择单词的首字母大写、分隔符类型以及是否包含数字或特殊字符。

在这里插入图片描述

官方提供了在线演示: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
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/539211.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【JAVA基础篇教学】第八篇:Java中List详解说明

博主打算从0-1讲解下java基础教学,今天教学第八篇:Java中List详解说明。 在 Java 编程中,List 接口是一个非常常用的集合接口,它代表了一个有序的集合,可以包含重复的元素。List 接口提供了一系列操作方法,…

循序渐进丨MogDB 数据库带级联从库的集群切换后如何保持原有架构?

生产数据库运行过程中可能会涉及到升级或者打补丁,导致各节点的角色有计划的发生改变。如果集群内角色发生改变,是否还能保持原有架构继续对外提供服务呢?我们来做一下测试。 采用22模式模拟同城两机房部署4节点 MogDB 数据库集群&#xff0c…

Zookeeper集群+消息队列Kafka

一. Zookeeper 集群的相关知识 1. zookeeper的概念 ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的…

docker:chown socket at step GROUP: No such process

docker:chown socket at step GROUP: No such process 原因:docker无法找到Group组信息,docker组有可能被误删除, 解决方式: groupadd docker Docker是一种相对使用较简单的容器,我们可以通过以下几种方式获取信息&am…

VBA中如何对工作表进行排序

代码 在VBA中对工作表进行排序的最简单方法是直接使用Move方法来移动工作表。 Sub SortSheetsByNameDescending()Dim sheetsDim sheet As WorksheetDim i As Integer, j As IntegerDim sortedSheets() As Array 获取当前工作簿中的所有工作表Set sheets ThisWorkbook.Sheets…

车载平板丨车载终端丨车载平板电脑前景如何?

随着人们对车辆安全性和稳定性的关注日益增加,车载加固终端市场前景非常广阔。根据市场研究机构的数据显示,全球车载加固终端市场规模将在未来几年内快速增长。预计到2025年,全球车载加固终端市场规模将达到约55亿美元,年复合增长…

区块链安全-----区块链基础

区块链是一种全新的信息网络架构 ,是新一代信息基础设施 ,是新型的价值交换方式、 分布式协 同生产机制以及新型的算法经济模式的基础。 区块链技术可以集成到多个领域。 区块链的主要用途 是作为加密货币的分布式总帐。 它在银行 ,金融 &…

初识Linux:探索其文件系统与命令行的魅力

一. 引言 Linux操作系统凭借其卓越的稳定性和灵活性赢得了广大用户的青睐,其中一个核心理念就是“一切皆文件”。这一理念广泛应用于文件、目录、设备、进程、网络链接等各种系统资源,使得所有操作都能通过统一的文件操作接口,如fopen()、fcl…

WPS二次开发系列:快速了解WPS SDK功能

作者持续关注WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(WPS二次开发QQ群:250325397),摸鱼吹牛嗨起来&#xff01…

家庭网络防御系统搭建-siem之security onion 安装配置过程详解

本文介绍一下security onion的安装流程,将使用该工具集中管理终端EDR和网络NDR sensor产生的日志。 充当SIEM的平台有很多,比如可以直接使用原生的elastic以及splunk等,security onion的优势在于该平台能够方便的集成网络侧(比如…

2024mathorcup数学建模D题思路分析-量子计算在矿山设备配置及运营中的建模应用

# 1 赛题 D 题 量子计算在矿山设备配置及运营中的建模应用 随着智能技术的发展,智慧矿山的概念越来越受到重视。越来越多的 设备供应商正在向智慧矿山整体解决方案供应商转型,是否具备提供整体 解决方案的能力,也逐步成为众多矿山设备企业的核…

c++命令行解析开源库cxxopts上手教程

文章目录 cxxopts快速入门1. cmake环境配置2. 定义解析的规则3. 使用例子 cxxopts 简介 cxxopts是一个轻量级的C命令行解析库,它提供了易于使用的API来定义和解析命令行选项。它支持多种类型的选项,并且允许用户自定义选项的处理逻辑。 项目地址&#x…

使用MATLAB的cylinder函数生成圆柱体及其他应用

cylinder 函数是 MATLAB 中的一个内置函数,用于生成表示圆柱体表面的坐标点。这些坐标点可以用于绘制三维图形,如使用 surf 或 mesh 函数进行可视化。 cylinder函数生成单位圆柱体的x、y和z坐标。您可以使用surf或mesh来绘制圆柱形对象,或者…

二刷大数据(一)- Hadoop

目录 大数据4V Hadoop概念Hadoop大版本区别HDFS产生背景架构文件块大小写文件流程读数据流程NameNode & SecondNameNodeDataNode工作机制 YARNMapReduce为什么不适合实时核心思想切片与MapTask原理MapTask机制MapReduceApplicationMasterApplicationMaster shuffle机制Redu…

本地部署开源免费文件传输工具LocalSend并实现公网快速传送文件

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-X4xB3gSR3z2VUfmN {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

代码随想录图论

1. 所有可能的路径 class Solution:def allPathsSourceTarget(self, graph: List[List[int]]) -> List[List[int]]:def dfs(graph, result, path, root): #result 返回结果, path记录路径, root记录遍历到了第几个节点if root len(graph) - 1: #如果遍历到最后…

文心一言

文章目录 前言一、首页二、使用总结 前言 今天给大家带来百度的文心一言,它基于百度的文心大模型,是一种全新的生成式人工智能工具。 一、首页 首先要登录才能使用,左侧可以看到以前的聊天历史 3.5的目前免费用,但是4.0的就需要vip了 二、使用 首先在最下方文本框输入你想要搜…

解决cmd输入py文件路径不能执行,使用anaconda prompt 能执行

究其原因,是因为没有配置环境!!!!!!! 第一步:配置环境变量 操作步骤如下: 1、右击此电脑 ---->属性 2、高级系统设置 3、点击环境变量 4、选择 …

【opencv】示例-imagelist_creator.cpp 从命令行参数中创建一个图像文件列表(yaml格式)...

/* 这个程序可以创建一个命令行参数列表的yaml或xml文件列表 */ // 包含必要的OpenCV头文件 #include "opencv2/core.hpp" #include "opencv2/imgcodecs.hpp" #include "opencv2/highgui.hpp" #include <string> #include <iostream>…

kafka的概念以及Zookeeper集群 + Kafka集群 +elk集群

准备 3 台服务器做 Zookeeper 集群 192.168.68.5 192.168.68.6 192.168.68.7 安装前准备 //关闭防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 0 node1服务器&#xff1a; vim zoo.cfg tickTime2000 #通信心跳时间&#xff0c;Zookeeper服务…