轻松查看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…

stable-diffusion 学习笔记

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

Linux:信号

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

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

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

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

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

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

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

RAG代码实操之斗气强者萧炎

📑前言 本文主要是【RAG】——RAG代码实操的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句&#x…

Netty 介绍、使用场景及案例

Netty 介绍、使用场景及案例 1、Netty 介绍 https://github.com/netty/netty Netty是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可扩展的网络服务器和客户端。它是一个开源项目,最初由JBoss公司开发,现在由社区维护。Netty的…

企业网络出口部署案例

知识改变命运,技术就是要分享,有问题随时联系,免费答疑,欢迎联系! 厦门微思网络​​​​​​ https://www.xmws.cn 华为认证\华为HCIA-Datacom\华为HCIP-Datacom\华为HCIE-Datacom Linux\RHCE\RHCE 9.0\RHCA\ Oracle O…

myql进阶-一条查询sql在mysql的执行过程

目录 1. 流程图 2. 各个过程 2.1 连接器 2.2 分析器 2.3 优化器 2.4 执行器 2.5 注意点 1. 流程图 2. 各个过程 假设我们执行一条sql语句如下: select * from t_good where good_id 1 2.1 连接器 首先我们会和mysql建立连接,此时就会执行到连接…

C++20结构化绑定应用实例(二百五十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

猫头虎分享:探索TypeScript的世界 — TS基础入门 ‍

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》…

Web前端 ---- 【Vue3】vue3中的组件传值(props、自定义事件、全局事件总线)

目录 前言 props 自定义事件 全局事件总线 安装第三方库mitt 封装event-bus.js文件 使用全局事件总线 清除全局事件绑定 前言 本文介绍在vue3中的组件传值,props、自定义事件以及全局事件总线。相较于vue2中,略有变化。关于vue2中的组件传值看这篇…

鸿蒙(HarmonyOS)应用开发指南

1. 概述 1.1 简介 鸿蒙(即 HarmonyOS ,开发代号 Ark,正式名称为华为终端鸿蒙智能设备操作系统软件)是华为公司自 2012 年以来开发的一款可支持鸿蒙原生应用和兼容 AOSP 应用的分布式操作系统。该系统利用“分布式”技术将手机、电…

windows11通过虚拟机安装Ubuntu20.04

VMware 分为 VMware Workstation Pro 和 VMware Workstation Player, Pro体验期后收费,Player则免费。player 早期不能创建虚拟机,只能Pro创建好后给Player运行,而现在player早已加入创建虚拟机功能,所以使用体验上两者相差不大&a…

物联网协议Coap之Core和NetWork简介

目录 前言 一、Coap的Core包 1、Coap对象 2、Message对象 3、Request对象 4、Response对象 二、Coap的NetWork调试 1、UDP运行模式 2、Network消息接收 3、Sender线程发送数据 三、总结 前言 在之前的博文中,对Californium中Coap的实现进行了简要的介绍&a…