使用 Aircrack-ng 暴力破解 WPA/WPA2 加密的 WiFi


写在前面目前,主流的 WiFi 加密方式是 WPA/WPA2,使用 Aircrack-ng 工具可以捕获 WPA/WPA2 握手包并对其进行暴力破解。本文介绍如何使用此工具来对附近的 WiFi 进行监听、抓包和暴力破解。感兴趣的读者可以提前学习一下 WPA/WPA2 加密方式的细节,以及无线监听的原理。在这篇文章中,我们自己建立一个 WPA/WPA2 加密的、密码不是很强的 WiFi 热点作为我们的目标,然后使用 Aircrack-ng 工具对其进行破解并拿到口令(即 WiFi 密码)。本文中破解 WiFi 的方法仅用于学习和交流,不得用于非法用途!注意,只要你拥有足够强大的字典和足够长...

【Windows/Linux】用命令行检查文件的 MD5、SHA256 等校验码


写在前面下载一个文件后,检查其 MD5、SHA1 或 SHA256 等校验码是非常常见的事情。Windows 和 Linux 都自带了计算文件校验码的工具,下面来分别介绍。 Windows方法一:Get-FileHash需要在 PowerShell 中执行此命令,用法如下:get-filehash -path <文件路径> -algorithm <算法>命令示例:get-filehash -path .\kali-linux-2018.3-rpi3-nexmon-hyperpixel.img.xz -algorithm MD5get-filehash -...

Visual Studio 2017 更新后“无法打开源文件”的解决方法


有时候我们更新完 Visual Studio 以后,原先的项目可能就不能正常编译了。可以发现,标准头文件不能被正常包含,提示“无法打开源文件”,如下图:这种情况的出现往往是因为更新了 Windows SDK 的版本,旧项目文件中保存的还是老 SDK 版本。因此只要修改项目的 Windows SDK 版本即可。 在 VS 中打开项目,在【解决方案资源管理器】中右键项目(注意,不是右键解决方案),然后点击属性。 在打开的窗口中点击【常规】,将右侧【Windows SDK 版本】下拉选择新的 SDK 版本即可。回到项目,发现“无法打开源文件”的错误提示已经消失了。 

回车符(CR)与换行符(LF)之间的故事


写在前面计算机中,涉及换行的字符有两个: 换行符 LF (Line Feed),ASCII 码为 0x0A,转义字符为'\n'; 回车符 CR (Carriage Return),ASCII 码为 0x0D,转义字符为'\r'。 不同的系统使用不同的换行方式: LF:Unix/Linux、Mac OS X; CR + LF:DOS/Windows; CR:Mac OS 9 以前。  简单的观察因此,在一个平台上创建的文本文件,拿到另一个平台上打开,就可能会出现因换行符不兼容导致的显示问题。比如,在 Linux 下创建一个“linux.txt”文本文件,输入几...

抛弃密码吧!SSH 密钥的生成、配置与使用(Linux)


写在前面我相信,打开这篇文章的你对 SSH 一定不陌生。SSH 提供了两种安全认证的方式: 口令认证:使用用户名和密码来认证; 密钥认证:通过一对密钥(公钥和私钥)来进行认证。 显然,第二种方式更加安全,而且避免了每次都要输入密码的繁琐。本文讲解如何在 Linux 服务器上配置 SSH 密钥,并且禁用传统的口令认证方式。本文地址:https://www.jeddd.com/article/set-ssh-key.html首先,我们来简单地了解一下 SSH 密钥认证的基本原理。SSH 密钥采用 RSA 加密算法,它是一种非对称加密算法。在这种加密方案中存在一对密钥,分别是公钥和私钥...

“非对称加密”到底是个什么玩意儿


写在前面“对称加密”和“非对称加密”是两种不同的加密方案。本文撇开了具体的技术细节和复杂的数学概念,力求用通俗易懂的语言和非常简单的例子给读者讲述明白这两种加密方案的区别。读完本文后,相信你能完全搞懂对称加密和非对称加密原理上的区别。本文地址:https://www.jeddd.com/article/what-is-asymmetric-encryption.html对称加密概念对称加密方案采用单密钥体制。也就是说,把明文信息加密成密文,和把密文解密成明文,这两个操作需要的密钥是一样的。 简单的例子现在的场景是,你要传递一条信息给我,但不想被其他人看到。当前的环境是不安全的,...

算法笔记:“最大子列和”问题的算法进化历程(C/C++)


问题描述最大子列和问题:给定已知长度的整数数列,找出其中一段连续的子数列,使得该子数列的和最大。用数学语言描述为:给定长度为 \( n \) 的整数数列\( \left \{ A_1, A_2, A_3, ..., A_n \right \} \),求函数$$ f(i,j)=max \left \{ 0,\sum_{k=i}^{j}A_k \right \} $$的最大值。 本文将依次讲解解决这一问题的 4 个逐渐优化(指时间复杂度)的算法,且采用伪代码和 C/C++ 语言进行描述。本文地址:https://www.jeddd.com/article/maximum-subar...