怎样加密wifi密码码可不可以加密

有人破解了WPA2加密 所有WIFI不安全了|WIFI|密钥|补丁_新浪科技_新浪网
& 滚动新闻 &&正文
有人破解了WPA2加密 所有WIFI不安全了
第1页:WiFi加密从WEP说起 【中关村在线原创】在昨天早上,传来了爆炸性的消息:WiFi的主要加密方式:WPA2被破解。这个含义是,即使您更换WiFi密码,也无法保护信息的安全。本文就来讲述一下WiFi的不靠谱历史以及这次漏洞的危害。你到密码不能再保障安全,你怕了吗?WiFi从WEP说起 WiFi最开始普及的时候,基本是伴随着迅驰架构, 应用在笔记本电脑上。自此笔记本电脑算是摆脱了到处要插的网络接口,真正的移动了起来。今天的轻薄型笔记本电脑,无论是苹果的Mac还是Windows的,都彻底取消了RJ45的接口,要用还得使用转接器。迅驰带来了笔记本的移动性,你用过迅驰的笔记本吗?现在的轻薄笔记本已经彻底放弃了网络接口,彻底的无线化 最开始的加密办法叫做WEP,术语叫做有线等效加密(Wired Equivalent Privacy,缩写成WEP)。这一技术采用的加密算法是RC4,使用的是64位或128位伪随机数作为密钥。但是WEP加密很快就被禁用了。当年的WEP破解工具不难找 弃用WEP的原因在于当年的美国政府限制了密钥长度,标准的64位WEP包括了40位的钥匙和24比特的初向量。按道理说,这个密钥应该用一次就不用了,但是当数据通过WEP加密频繁传输的时候,无法避免重复使用密钥,这样只要第三方的黑客抓到足够多的包,那么WEP的密钥就会被抓到实现破解。在WEP容易破解的年月,工具很多,所以当时很多人蹭网都是破解了邻居的WEP密码。第2页:放弃WEP改用WPA放弃WEP改用WPA WEP的弱点很快导致了被弃用,这一标准从2003年开始使用,直到2004年才成为强制性的802.11i标准。但是那时候的笔记本电脑、路由器还都默认使用WEP加密,WPA变成一种可选项,并且导致了设备的兼容问题:新笔记本可能连不上旧路由器,路由器要换代更新。网络设置界面,PSK方式让密钥验证更快捷 我们在配置路由器的时候,都会预先输入一个秘密在路由器里面。然后我们手机、笔记本再输入这个密码。这种预输入密码配对方式被称之为PSK,即Personal Shared Key,这在我们选择加密方式的时候可以见到,可以是8-63位的ASCII符号。这种办法是便宜,并且有保护机制防止被破解,当然密码要足够强,因为这种方式可能被采用”密码字典“的方式破解。AES算法加密的四个步骤之一,数学上很复杂,用来保障加密的安全性 在WPA2中,则强制使用了AES加密。AES是Advanced Encryption Standard的缩写,意思是高级加密系统。这个系统最早是美国国家安全局NSA使用的,NSA认证这种算法加密后,可以用来传输机密文件。后来AES民用化,在民用的产品中常见的是AES128加密,它使用了更复杂的数学算法来保障安全性。第3页:WPA2破解与对策WPA2破解与对策 昨天公布这个破解其实并不是说有办法能够破解WPA2的密码。Krackattack公布了WPA2的漏洞细节。这个漏洞在于WPA2的多次握手重传。这种攻击方式被命名为密钥重装攻击(Key Reinstallation Attacks)。漏洞成因在于802.11标准中没有定义在4次握手(和其他握手)中何时应该安装协商密钥,攻击者可通过诱使多次安装相同的密钥,从而重置由加密协议使用的随机数和重放计数器。今早公布漏洞的网站截图 在WPA的协议中存在一条危险的注释“一旦安装后,就可从内存中清除加密密钥”,若按此注释进行实现,在密钥重装攻击时会从设备内存中取回已经被0覆盖的key值,从而导致客户端安装了值全为零的秘钥。而使用了wpa_supplicant的Linux及Android设备便因此遭受严重威胁。就是这种攻击也不知道你的密码是什么,但是它可以将你的客户端的密钥变成一串0.此次收到威胁最大的是安卓,因为安卓遵守了802.11协议,而Windows和iOS等不接受消息3重传的要求,没有遵守协议,但是也可能被攻击,因为这个漏洞攻击的是WiFi的协议层。视频演示破解捕获了安卓用户输入的信息 网上演示的破解过程显示了如何获取安卓用户输入的用户名、密码信息,因此,信用卡信息也容易获得。值得庆幸的是,目前没有易得的工具,还有机会为用户设备提供及时的升级来防止攻击,但是没有升级、打补丁的设备容易被这个漏洞所攻击。时刻牢记:不想成网红,安全比几个流量钱重要!不要总是找免费WiFi! 没补丁怎么办?企业可以通过启用SSL等办法,而普通大众来说,不用公共WiFi、多用流量,等待升级补丁,是唯一的办法,尤其是安卓用户,如果你认为手机里的内容足够重要、起码比流量费用要重要,那就多用流量吧。由于没有成型工具且企业会很快提供补丁,所以这次的漏洞威胁,应该比之前WEP的情况好很多,这是我们可以宽慰的地方,并且普通人也不是黑客下手的目标,你没那么有钱、那么重要。
善良比聪明更重要。我觉得这句话也可以送给今日头条。
我不知道未来的世界会如何,我只知道现在是站在新的工业革命的起点,既然分享、专注、全局观,能
四年来,荣耀与小米三度缠斗,已颇有一番沧桑。wifi密码破解功能(只能破解部分加密方式的wifi)
时间: 01:18:00
&&&& 阅读:603
&&&& 评论:
&&&& 收藏:0
标签:SSID是wifi名称 ,密码是wifi密码,(要有网络情况下才能破解)主要代码:public class MainActivity extends Activity&{ Context mContext = TextView textV WifiStatus wifiS Handler mH final int UPDATE_TEXT = 1; @Override protected void onCreate(Bundle savedInstanceState)& {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.content);
wifiStatus = new WifiStatus(mContext);
mHandler = new Handler()&
public void handleMessage(Message msg) {
switch (msg.what) {
case UPDATE_TEXT:
textView.setText(msg.obj.toString());
showWifiStatus(); } public void btnWifi(View v)& {
Toast.makeText(mContext, "查询中...", Toast.LENGTH_SHORT).show();
new Thread(new Runnable() {
public void run() {
Message msg = new Message();
msg.what = UPDATE_TEXT;
msg.obj = new mkQuerypwd().getpwd();
mHandler.sendMessage(msg);
} catch (Exception e) {
e.printStackTrace();
}).start();
} catch (Exception e) {
e.printStackTrace();
public void showWifiStatus() {
wifiStatus.scanWifi();
textView.setText("");
} }public class WifiStatus {& & WifiManager wifiM& & static List&ScanResult& wifiL& & public WifiStatus(Context mContext){& & & & wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);& & & & if(!wifiManager.isWifiEnabled()){& & & & & & wifiManager.setWifiEnabled(true);& & & & & & Toast.makeText(mContext, "WIFI启动中...", Toast.LENGTH_SHORT).show();& & & & }& & }& & public void scanWifi(){& & & & wifiManager.startScan();& & & & wifiList = wifiManager.getScanResults();& & }}public class mkQuerypwd {& & public String getpwd() throws Exception{& & & & String salt = "LQ9$ne@gH*Jq%KOL";& & & & Map&String, String& map = new TreeMap&&();& & & & map.put("och", "wandoujia");& & & & map.put("ii", "");& & & & map.put("appid", "0001");& & & & map.put("pid", "qryapwd:commonswitch");& & & & map.put("lang", "cn");& & & & map.put("v", "58");& & & & map.put("uhid", "a0000001");& & & & map.put("method", "getDeepSecChkSwitch");& & & & map.put("st", "m");& & & & map.put("chanid", "guanwang");& & & & map.put("sign", "");& & & & map.put("bssid", "");& & & & map.put("ssid", "");& & & & map.put("dhid", this.getdhid());& & & & map.put("mac", "d8:86:e6:6f:a8:7c");& & & & StringBuilder bssid = new StringBuilder();& & & & StringBuilder ssid = new StringBuilder();& & & & for (ScanResult i : WifiStatus.wifiList){& & & & & & bssid.append(i.BSSID).append(",");& & & & & & ssid.append(i.SSID).append(",");& & & & }& & & & map.put("bssid", bssid.toString());& & & & map.put("ssid", ssid.toString());& & & & map.put("sign", getSign(map, salt));& & & & String response = sendRequest(map);& & & & JSONObject jsonObject = new JSONObject(response);& & & & JSONObject psws = jsonObject.getJSONObject("qryapwd").getJSONObject("psws");& & & & Iterator&String& iterator = psws.keys();& & & & StringBuilder result = new StringBuilder();& & & & while (iterator.hasNext()){& & & & & & String item = iterator.next();& & & & & & String encryptpwd = psws.getJSONObject(item).getString("pwd");& & & & & & String decryptpwd = decrypt(encryptpwd);& & & & & & int pwdLength = Integer.parseInt(decryptpwd.substring(0, 3));& & & & & & String pwd = decryptpwd.substring(3, decryptpwd.length()-1).substring(0, pwdLength);& & & & & & String name = psws.getJSONObject(item).getString("ssid");& & & & & & result.append("BSSID: ").append(item).append("\nSSID: ").append(name).append("\n密码: ").append(pwd).append("\n\n");& & & & }& & & & if (TextUtils.isEmpty(result.toString())){& & & & & & return "没找到密码 ˉ\\_(ツ)_/ˉ";& & & & }& & & & return result.toString();& & }& & public String getdhid() throws Exception {& & & & String salt = "LQ9$ne@gH*Jq%KOL";& & & & Map&String, String& map = new TreeMap&&();& & & & map.put("capbssid", "d8:86:e6:6f:a8:7c");& & & & map.put("model", "Nexus+4");& & & & map.put("och", "wandoujia");& & & & map.put("appid", "0001");& & & & map.put("mac", "d8:86:e6:6f:a8:7c");& & & & map.put("wkver", "2.9.38");& & & & map.put("lang", "cn");& & & & map.put("capbssid", "test");& & & & map.put("uhid", "");& & & & map.put("st", "m");& & & & map.put("chanid", "guanwang");& & & & map.put("dhid", "");& & & & map.put("os", "android");& & & & map.put("scrs", "768");& & & & map.put("imei", "516");& & & & map.put("manuf", "LGE");& & & & map.put("osvercd", "19");& & & & map.put("ii", "516");& & & & map.put("osver", "5.0.2");& & & & map.put("pid", "initdev:commonswitch");& & & & map.put("misc", "google/occam/mako:4.4.4/KTU84P/1227136:user/release-keys");& & & & map.put("sign", "");& & & & map.put("v", "58");& & & & map.put("sim", "");& & & & map.put("method", "getTouristSwitch");& & & & map.put("scrl", "1184");& & & & map.put("sign", getSign(map, salt));& & & & S& & & & String response = sendRequest(map);& & & & JSONObject jsonObject = new JSONObject(response);& & & & dhid = jsonObject.getJSONObject("initdev").getString("dhid");& & & && & }& & public String getSign(Map map, String salt) throws Exception {& & & & String value = "";& & & & for (Object o : map.entrySet()) {& & & & & & Map.Entry&String, String& entry = (Map.Entry)& & & & & & value += entry.getValue();& & & & }& & & & value +=& & & & MessageDigest messageDigest = MessageDigest.getInstance("MD5");& & & & byte[] digest = messageDigest.digest(value.getBytes("UTF-8"));& & & & BigInteger number = new BigInteger(1, digest);& & & & String md5 = number.toString(16);& & & & while (md5.length() & 32) {& & & & & & md5 = "0" + md5;& & & & }& & & & return md5.toUpperCase();& & }& & public String getRequestData(Map params) throws Exception {& & & & StringBuilder stringBuilder = new StringBuilder();& & & & for (Object o : params.entrySet()) {& & & & & & Map.Entry&String, String& entry = (Map.Entry)& & & & & & stringBuilder.append(entry.getKey()).append("=").append(URLEncoder.encode(entry.getValue(), "UTF-8")).append("&");& & & & }& & & & stringBuilder.deleteCharAt(stringBuilder.length() - 1);& & & & return stringBuilder.toString();& & }& & public String sendRequest(Map params) throws Exception{& & & & URL url = new URL("http://wifiapi02.51y5.net/wifiapi/fa.cmd");& & & & HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();& & & & httpURLConnection.setDoInput(true);& & & & httpURLConnection.setDoOutput(true);& & & & httpURLConnection.setRequestMethod("POST");& & & & httpURLConnection.setUseCaches(false);& & & & httpURLConnection.setInstanceFollowRedirects(true);& & & & httpURLConnection.setRequestProperty("Content-type", "application/x-www-form-urlencoded");& & & & httpURLConnection.setRequestProperty("Host", "wifiapi02.51y5.net");& & & & httpURLConnection.setRequestProperty("Accept", "text/plain");& & & & httpURLConnection.connect();& & & & BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(httpURLConnection.getOutputStream()));& & & & bufferedWriter.write(getRequestData(params));& & & & bufferedWriter.flush();& & & & bufferedWriter.close();& & & & BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));& & & & StringBuilder response = new StringBuilder();& & & & String L& & & & while ((Line = bufferedReader.readLine())!=null){& & & & & & response.append(Line).append("\n");& & & & }& & & & bufferedReader.close();& & & & httpURLConnection.disconnect();& & & & return response.toString();& & }& & public String decrypt(String encryptpwd) throws Exception{& & & & String key = "jh16@`~78vLsvpos";& & & & String iv = "j#bd0@vp0sj!3jnv";& & & & SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(), "AES");& & & & IvParameterSpec ivParameterSpec = new IvParameterSpec(iv.getBytes());& & & & Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");& & & & cipher.init(Cipher.DECRYPT_MODE, secretKey, ivParameterSpec);& & & & return new String(cipher.doFinal(hex2byte(encryptpwd)));& & }& & public byte[] hex2byte(String hex){& & & & byte[] output = new byte[hex.length()/2];& & & & for (int i = 0,j = 0; i & hex.length(); i += 2, j++)& & & & {& & & & & & String str = hex.substring(i, i + 2);& & & & & & output[j] = (byte) Integer.parseInt(str, 16);& & & & }& & & && & }}标签:原文:http://qq.blog.51cto.com/0673
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!WiFi密码破解那些事 轻易破解WAP2加密方式
WiFi密码破解那些事 轻易破解WAP2加密方式
& & &随着网络技术的不断成熟和发展,越来越多的家庭和企业热衷于采用WiFi无线网络来增强自己的网络覆盖能力和降低带宽成本。其中大部分都只选择采用WAP2加密的方式,但是这样真的就能确保万无一失了么?还是说像网上说的那样WAP2轻易就能够被破解了呢?就此笔者来说几点。
  首先,就说所谓的WAP2密码破解到底是怎么一回事。在笔者看来,其实密码破解大致可以分为三类:
  1、第一种也可以说是最弱智的一种,就是用WiFi某某钥匙等等软件来破解,这个是个正常人应该都会用。它的原理无外乎是有人已经将这个热点的密码分享到服务器上,当有人再次访问该热点,它就会将存储在服务器上的密码发送给手机。当然,当服务器内不存在该热点密码时,就会尝试试一些比较简单的弱密码来&破解&wif密码。
  2、第二种算是比较高级的方法,通过字典(包含了各式各类可能的密码的TXT文档)来暴力破解WiFi密码,说白了也就是一个一个往里试。这样的话其实还是存在一个问题,那就是速度和路由的问题。你每填一个密码再到路由里面验证,中间都需要花费很长的时间,你一分钟也试不了几个,于是就有了BT,CDLinux之类的破解软件。
  其实认真来说BT和CdLinux都算是精简版的Linux系统。(Windows由于它自身的局限性并不适合用来网络抓包。)我们通过这些系统里的一些软件来中断客户端和路由器之间的连接,而现在的WiFi设备为了提供更好的用户体验都会再WiFi断线后尝试自动连接。在自动连接的过程中,手机等设备会重新向路由器发送加密过后的WiFi密码,当路由器接收到这些信息后会将这些信息同自己内部存储的WiFi密码经过相同加密方式后的数据进行对比,比对成功就算认证通过。这些软件这时就会抓取到包含加密密码的数据包,由于WiFi密码的加密方式采用的是单向加密,即只能加密而不能解密(有点像N元一次方程,你代入一个Y值可能能解出好多个X值,但是代入一个X值,Y值相对应的只有一个)。所以通常我们采用将字典里面的密码数据也经过这样的加密后再与我们捕获的数据包里面的数据进行对比,相同的话,密码就出来了。这样的话跑包的速度只取决于你电脑的CPU和GPU的运算速度了,基本上都能达到几千次每秒的破解速度。
  但是这样的破解存在很大的缺陷:○1必须要有客户端在线才能进行抓包;○2人品要好,字典够大。
  ▲虚拟机内运行CDLinux
  3、pin破解,这算是比较流行的破解方法了,pin其实依赖于路由的wps。WPS,就是只要你按一下WPS按钮就能连接上WiFi的功能,省去了输密码的麻烦。这本来是个方便用户使用的功能,但是它其实是通过了pin码的方式进行了认证。Pin码认证通过后,路由就会将密码以明文方式发送给你的网络设备,你的网络设备将自动记录和保存WiFi密码并连接上路由器。Pin码一共8位数,分前4和后4,路由先验证前四位数是否正确,正确的话才会验证后四位,其实后4位的3位确定后,最后一位也就确定了,所以一共也就11000种可能,假设网络情况良好3秒钟pin一次,最多也就9个小时多点保证能出密码(人品再差也就一晚上)。
  那是不是说pin破解就是万能的呢?自然不是了。只要路由器的主人关闭wps功能或者买的路由具备防pin的功能,那就很难通过pin来破解或者压根就不能用pin来破解。
  其次,我们再说说破解了WiFi密码能干什么。
  1、蹭网下载,大部分人的目的也就是这样了。
  2、窥探隐私,这种比较少。基本上破解了路由器的WiFi密码后,再登陆进去路由器,就能够很容易的对对方的网络设备进行嗅探。当有些网络设备的某些端口开放的话,很容易就被入侵了。然后神不知鬼不觉的植入木马病毒什么的还是行的(相关文章《黑客攻破女神WiFi...随笔 - 713&
文章 - 8&评论 - 884&trackbacks - 19
WiFi在给我们提供方便的无线网络同时,也带了一些隐患。如果对WiFi不设密码的话,一来会因为蹭网而影响网速,二来给信息安全带来了不小隐患。针对WiFi的安全手段,一般来说就是加密。最初的加密方式是WEP,不过这种加密方式算法有漏洞,一般来说几分钟即可破解,我曾经拿一个上网本试过,几分钟就把我自己的路由器密码给破解了,由于这种是暴力破解的,和密码是否是弱密码无关,基本无法防范,所以当时大量的蹭网卡横行。
如果对WiFi的WEP加密方式破解感兴趣的话,可以看看这篇文章。
不过好在随着时代的变迁,WEP已经成为历史,现在路由器基本上都支持更高强度的加密方式了,对于这种方式下的WiFi,基本上只能靠密码字典来破解了,只要密码不是设置得太简单,破解的几率不是很大。本来我们以为可以高枕无忧了,谁知随着智能手机时代啊的到来,WiFi安全又迎来了新的挑战。
首先还是从我们占用率最高的智能手机Android说起,本来Andorid是一个好系统,谁知道它从4.0.3起,不知道哪根筋抽搐了,开始采用明文保存密码,只要用文本编辑器打开/data/misc/wifi/wpa_supplicant.conf文件,就会发现你所保存的所有Wifi密码。
这个问题已经算是一个安全漏洞了,在乌云上已经有人对这个漏洞进行了提及:。要命的是Google根本不鸟这个漏洞,现在已经基本上是众所周知了。
有了这个漏洞后,许多国产软件商就开始对它动起了脑筋,一时间诞生了大量Wifi万能钥匙之类的Wif共享的软件,由于它可以使用别人的加密的Wifi网络,许多人对于这种软件津津乐道,还积极推荐朋友别人使用,但对于它的原理却不是很清楚。实际上,这种软件的原理很简单,它通过软件使用者直接共享密码,或者干脆不管你是否共享,直接利用Andorid漏洞上传你手机中的所有WiFi密码到它的服务器(这个漏洞需要有root权限才能用,但大多数的时候不是事),在你使用了别人的密码同时,也同时贡献了你所到之处的所有WiFi密码,亲戚朋友的也不例外。
比起暴力破解的方式来,这种直接从内部盗取密码的软件是最没技术含量的,但就是这种不要脸的软件最难防范:
它是直接读取你的WiFi密码,只要你用了这种软件,无论采取什么加密手段,无论设置多复杂的密码都没有任何意义
就算你不用这种WiFi共享软件,也不能保证到你们家的亲戚朋友不用,毕竟大多数人根本不知道这种软件会上传WiFi密码,因此你没有方法阻止这种软件窃取你的WiFi密码。
虽然这种软件号称不主动上传WiFi密码,需要你主动分享。但就我的经历来看,国产软件几乎没有什么节操可言,勾或不够那个选项大多数只是视觉效果的差异,它都会尽可能的尽职尽责的共享密码。只要到到过你家的朋友有一个人用这种软件,基本上你的WiFi就有很大几率被共享了。
最后,简单谈一下如何应对这种方式的密码泄露吧。由于这种内部盗取的方式没有什么有效的防止手段,一般来讲,有如下几种手段:
定期换密码,使得外来用户不知道正确的密码
采用Mac绑定的白名单值,使得外来用户知道密码也无法登陆
关闭SSID,使得外来用户不知道这儿有"免费WiFi"
关闭DHCP,更换默认IP网段,使得外来用户连进来了也没有IP地址可用
这三种方式中,方式1自己很累,方式2亲戚朋友来用不方便,方式3,4比方式1,2好点,但使用起来也不是很方便。更好的方式是买一个好一点的支持动态密码的智能路由器,自己使用固定的WiFi密码,针对来客设置一个临时的WiFi密码,就算临时密码被共享了也不用担心了。
阅读(...) 评论()wifi不设置密码是否有什么隐患?
1、会被人蹭网,占用你的带宽,导致自己上网卡顿。更可恶的是登陆你的路由器限制你的带宽,让你无形变慢2、会被人修改路由器密码,让你无法登陆管理路由器,只能复位来重新设置,浪费时间,增添麻烦3、被恶意者造成网络攻击,给你发ARP病毒等4、增加无线路由器负担,无形缩短设备寿命,减弱发射信号强度性能等。5、建议设置高强度加密方式
不管是有没有密码的无线网,只要不知道来源的,连接上后不要用网银或支付宝,玩其它的都可以。
去你买这个手机的那个店!
别人很可能就直接用你的网络了啊!
首先用路由器的帐号密码进入路由器界面 进入路由器界面要先输入你家宽带的帐号密码
输入后界面上会有设置密码的地方,在它的前面打对号
进入路由器设置界面方可进行操作设定WIFI密码.路由器的设置地址都是192.168.1.1或者192.168.0.1,进入路由器设置界面.输入路由器登录帐号密码.默认为admin.进入路由器设置界面,选择无线设置.选择无线安全设置.将wpa点击开启.输入密码.8-63位.设置完点击保存即可.
1:网速变慢2:使用网络时密码数据可能窃取
人的综合分
感谢您为社区的和谐贡献力量请选择举报类型
经过核实后将会做出处理感谢您为社区和谐做出贡献
确定要取消此次报名,退出该活动?}

我要回帖

更多关于 wifi怎么加密 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信