轻松查看WiFi密码的神奇脚本,让你忘记密码也不再是问题

说在前面

🎈本文介绍了一个便捷的脚本,可以帮助你获取电脑中保存的所有Wi-Fi网络的密码。不再需要担心忘记Wi-Fi密码或手动查找密码的麻烦,只需运行脚本即可一键获取。

一、引言

互联网的普及让我们离不开Wi-Fi网络,但忘记密码时常发生。在当今的数字时代,Wi-Fi密码几乎成为了我们连接互联网的"通行证"。然而,我们常常会面临一个尴尬的问题:当我们需要在新的设备上连接同一个Wi-Fi网络时,我们却无法回忆起密码。幸运的是,我们有一个神奇的脚本可以帮助我们轻松地获取保存在电脑中的Wi-Fi密码。

二、脚本工作原理

这个脚本基于命令行操作,通过执行特定指令来获取Wi-Fi配置文件的名称和密码信息。它利用操作系统提供的命令行工具,能够访问并读取存储在电脑中的Wi-Fi配置文件,从而获取相应的密码信息。

三、准备工作

在运行脚本之前,我们需要进行一些准备工作。首先,我们需要确保命令行编码设置为UTF-8,以便支持显示中文字符。这可以通过在脚本中执行chcp 65001命令来实现。

四、脚本编写

1、引入child_process 模块

引入 Node.js 内置的 child_process 模块中的 execSync 函数,用于执行命令行指令。

const { execSync } = require("child_process");

2、编码设置为 UTF-8

通过 execSync 函数执行命令行指令 chcp 65001,将命令行编码设置为 UTF-8,以便支持显示中文字符。

 execSync("chcp 65001");

3、获取所有 Wi-Fi 配置

执行命令行指令 netsh wlan show profiles,获取所有 Wi-Fi 配置文件的名称信息,并将其转换为字符串格式。然后,使用正则表达式匹配出每个 Wi-Fi 配置文件的名称,并将其存储在 profileNames 数组中

const profilesInfo = execSync("netsh wlan show profiles").toString();const profileNames = profilesInfo.match(/All User Profile\s*:\s*(.*)/g).map((s) => s.split(":")[1].trim());

4、输出 Wi-Fi 配置

遍历 profileNames 数组中的每个 Wi-Fi 配置文件的名称,并根据名称执行命令行指令 netsh wlan show profile name=“” key=clear,获取对应的密码信息。然后,使用正则表达式匹配出密码信息,并将其存储在 password 变量中。最后,将 Wi-Fi 名称和密码信息一起输出到控制台上。如果某个 Wi-Fi 没有设置密码,则输出“无密码”。

 for (const name of profileNames) {const passwordInfo = execSync(`netsh wlan show profile name="${name}" key=clear`);const passwordMatch = passwordInfo.toString().match(/Key Content\s*:\s*(.*)/);const password = passwordMatch ? passwordMatch[1].trim() : "无密码";console.log(`${name}: ${password}`);}

5、完整脚本代码

const { execSync } = require("child_process");function getAllWifiInfo() {// 设置命令行编码为UTF-8,以支持显示中文字符execSync("chcp 65001");// 获取所有Wi-Fi配置文件的名称const profilesInfo = execSync("netsh wlan show profiles").toString();const profileNames = profilesInfo.match(/All User Profile\s*:\s*(.*)/g).map((s) => s.split(":")[1].trim());// 获取每个Wi-Fi的密码并输出for (const name of profileNames) {const passwordInfo = execSync(`netsh wlan show profile name="${name}" key=clear`);const passwordMatch = passwordInfo.toString().match(/Key Content\s*:\s*(.*)/);const password = passwordMatch ? passwordMatch[1].trim() : "无密码";console.log(`${name}: ${password}`);}
}

五、脚本使用

1、插件安装

npm install -g jyeontu

2、查看wifi密码

jyeontu wifi

六、结束语

这个神奇的脚本为我们解决了忘记Wi-Fi密码的尴尬问题。通过简单的命令行操作,我们可以轻松地获取保存在电脑中的Wi-Fi密码。希望这篇文章对你有所帮助,鼓励你尝试使用该脚本来解决类似的问题。享受无忧的Wi-Fi连接吧!

源码

Gitee

该工具的源码也已经开源,有兴趣的同学可以到Gitee上查看:https://gitee.com/zheng_yongtao/node-scripting-tool/tree/master/src/jyeontu;

欢迎star~

公众号

关注公众号『前端也能这么有趣』,发送jyeontu即可获取源码。

公众号

关注公众号『前端也能这么有趣』,获取更多有趣内容。

说在后面

🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么安装es、kibana(单点安装)

1.部署单点es 1.1.创建网络 因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络: docker network create es-net1.2.加载镜像 这里我们采用elasticsearch的7.12.1版本的镜像,这个镜像体积非常大&#xff0c…

用C语言采集亚马逊amazon产品数据

上一篇文章我是用C写的一个爬取亚马逊的爬虫程序,相信大家已经看过了,这次呢,我依然使用C语言来写一个爬虫,大体上思路是和之前一样,只是支持的库以及语法有些区别,具体的呢我会一一解释出来,方…

android自定义来电秀UI

简单来电秀功能,效果如图: 底部附上demo 一、新建一个PhoneCallService服务,在服务中监听来电等状态,且控制UI显示 public class PhoneCallService extends InCallService {private final Call.Callback callback new Call.Ca…

仿真机器人-深度学习CV和激光雷达感知(项目2)day01

文章目录 前言项目介绍功能与技术简介硬件要求环境配置虚拟机运行项目demo 前言 💫你好,我是辰chen,本文旨在准备考研复试或就业 💫本文内容是我为复试准备的第二个项目 💫欢迎大家的关注,我的博客主要关注…

如何给AI下达精准的指令,哪些提示词对于AI是有效的?

刚上手那会,我倾向于将 prompt 翻译为“指令”,但这并不精确。“指令”通常对应instructions,属于 prompt 中的纯指令部分,通常是一个动宾结构(做什么)。剩下的部分更多是描述(describe&#xf…

Open3D 不规则点云体积计算 (15)

Open3D 不规则点云体积计算 (15) 一、算法介绍二、算法实现1.代码2.结果黑暗笼罩万物,我将是黑暗中最后的那道曙光,以雷霆,击碎黑暗!!! 一、算法介绍 点云往往是不规则的,利用别的包围盒方法获取的体积可能不太准确,如果希望获取更准确的体积,这里介绍一种基于体素…

stable-diffusion 学习笔记

从效果看Stable Diffusion中的采样方法 参考:Ai 绘图日常 篇二:从效果看Stable Diffusion中的采样方法_软件应用_什么值得买 大概示例:

arm64架构编译electron长征路

文章目录 1. gn工具生成1.1 问题,找不到last_commit_position.h文件问题描述如下:解决方法1.2 ninja文件不是对应架构问题问题描述:解决方法1.3 问题3:clang++找不到问题描述解决方法2. electron 编译参数生成2.1 下载对应版本debian_bullseye_arm64-sysroot错误描述

Linux:信号

目录 1.信号 2.信号的过程 a.信号的产生 1:键盘产生, 异常产生 2:系统调用产生信号 3.软件条件产生信号 4.硬件异常产生信号 b.信号的发送 c.信号的处理 d.总结与思考 3.信号保存 1.信号及其它相关常见概念 2.在内核中的表示 3.sigset_t 4. 信号集操作函数 4.信…

【读书笔记】网空态势感知理论与模型(十)

网络安全的认知科学:一个推进社会-网络系统研究的框架 1.引言 网空安全理念、策略和操作的核心是对抗性的规则,对于攻击方来说,这个规则会推动一个威胁去夺取重要数据或文件的所有权。 2. 网空安全作为一个跨学科的超系统,其中…

Arduino开发实例-AS608光学指纹传感器驱动

AS608光学指纹传感器驱动 文章目录 AS608光学指纹传感器驱动1、AS608光学指纹传感器介绍2、硬件准备及接线3、代码实现3.1 指纹录入3.2 指纹匹配验证1、AS608光学指纹传感器介绍 AS608 光学指纹传感器可用于扫描指纹,它也可以通过串行通信将处理后的数据发送到微控制器。 所有…

50天精通Golang(第16天)

beego框架介绍和流程分析 beego官方文档:https://beego.me/ 一、beego框架介绍 1.1 beego框架介绍–beego简介 1.1.1 什么是beego beego是一个使用Go语言来开发WEB引用的GoWeb框架,该框架起始于2012年,由一位中国的程序员编写并进行公开…

gem5学习(12):理解gem5 统计信息和输出——Understanding gem5 statistics and output

目录 一、config.ini 二、config.json 三、stats.txt 官方教程:gem5: Understanding gem5 statistics and output 在运行 gem5 之后,除了仿真脚本打印的仿真信息外,还会在根目录中名为 m5out 的目录中生成三个文件: config.i…

第六篇 提升网页性能:深入解析HTTP请求优化策略(一)

深入浅出HTTP请求前后端交互系列专题 第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述 第二章 HTTP请求方法、状态码详解与缓存机制解析 第三章 前端发起HTTP请求 第四章 前后端数据交换格式详解 第五章 跨域资源共享(CORS):现代W…

水仙花数(Java解法)

什么是水仙花数? 水仙花数是指一个 3 位数,它每位上的数字的 3 次幂之和等于它本身(例如: 1 5 3 153 ),水仙花数的取值范围在 100~1000 之间。 解题思路: 这个题需要把所以的数字都拿到&…

Egg框架搭建后台服务【2】

前言 接上文 Egg框架搭建后台服务【1】,继续优化后台服务,之前直接用 SQL 语句调用的数据库数据,既不安全,也比较麻烦,当然最重要的是“显着不专业”。 所以本文仍然是增删改查,重点是将原本 SQL 语句操作…

【QT】QMessageBox 弹出消息框,对话确认框(确定/取消)

1.无互动 QMessageBox::information(nullptr,"信息","登陆成功");2.互动:确定、取消 QMessageBox::StandardButton box; box QMessageBox::question(this, "提示", "确定要添加吗?", QMessageBox::Yes|QMessageBox::…

8个Linux软件包管理命令

软件包管理器允许在 Linux 发行版上轻松安装、更新和删除软件。常用的软件包管理器包括 APT、YUM、DNF、Pacman 和 Zypper。 1. apt – Debian/Ubuntu 软件包管理器 apt 命令使用 APT 软件库管理 Debian/Ubuntu 系统上的软件包。它允许安装、更新和删除软件包。 例子&#x…

Linux 使用小记

安装IDEA mkdir -p /home/app/idea tar -zxvf ideaIU-2022.3.3.tar.gz -C /home/app/idea cd /usr/local/IDEA/idea-IU-223.8836.41/bin sh ./idea.sh 配置 IDEA 快捷方式 sudo gedit /usr/share/applications/idea.desktop 写入下面的内容 [Desktop Entry] NameIntelliJ …

大模型学习读书笔记01——大模型基础

大模型学习读书笔记01——大模型基础 1、什么是语言模型 语言模型 评判由一些单词排列组合而成的句子是否更像真正的、自然的句子。(通俗的说是否像人话) 语言模型的经典定义是一种对词符(token)序列的概率分布。每个token在真…