WiFi二维码扫不出来的原因出来那部分是密码

扫二维码连接wifi流程 怎样扫二维码连接wifi_西西软件资讯
西西软件园多重安全检测下载网站、值得信赖的软件下载站!
→ 扫二维码连接wifi流程 怎样扫二维码连接wifi
v2.9安卓版
类型:安卓其它大小:1.4M语言:中文 评分:10.0
相信大家都经历过一些酒店的wifi您只需要通过手机的二维码扫一扫即可自动的连接上去,无需输入密码,但是在wifi界面则需要密码,这是怎么办到的呢,小编为您推荐一款专为wifi二维码推出的一款手机端WiFi二维码制作工具,您只需下载安装此款软件即可一键制作出属于自己的wifi直连二维码啦。制作流程1、首先下载此款名为&二维码WiFi密码软件,将其安装至手机端2、打开软件,选择一个您知道密码并且已经连接过的wifi3、点击wifi旁边的分享生成按键4、输入相关参数,点击一键生成二维码即可,最后直接将二维码打印出来就可以啦,是不是很简单.
08-2308-2208-1908-1808-1808-1808-1708-1708-1608-11
阅读本文后您有什么感想? 已有23人给出评价!
名称大小下载这是我用扫描二维码的方式扫出来的Wifi密码,我不知道是哪部分_百度知道
这是我用扫描二维码的方式扫出来的Wifi密码,我不知道是哪部分
我有更好的答案
方法如下:1、请确保手机设置里已开启WiFi或蜂窝移动数据,并一定要打开定位服务;2、打开WiFi万能钥匙稍作等待,获取周围WiFi热点列表,如未出现,可以将页面往下拉刷新一下3、iOS正版需要将手机扫描出来的WiFi和WiFi万能钥匙定位出来的进行匹配,才能显示蓝色钥匙。(1)将手机设置里面的WiFi列表,同时按住home键+开机键进行截图(如手机扫描出来的WiFi较多,可以截取多张图片,以涵盖所有WiFi信息)(2)回到WiFi万能钥匙界面,点击扫描图片,获取之前截图的WiFi列表信息,将所有图片都一一进行解析匹配,有分享密码的热点就会出现蓝色钥匙啦~4、点击显示蓝色钥匙的热点,进一步安装描述文件,安装完描述文件就OK啦;
采纳率:90%
来自团队:
为您推荐:
其他类似问题
wifi的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。后使用快捷导航没有帐号?
后使用快捷导航没有帐号?
查看: 12395|回复: 39
新兵上阵, 积分 46, 距离下一级还需 35 积分
签到天数: 4 天[LV.2]偶尔看看I
WIFI万能钥匙破解了,分享二维码怎么看密码?手机没有ROOT,求解
本帖子中包含更多资源
才可以下载或查看,没有帐号?
中校, 积分 6508, 距离下一级还需 3493 积分
签到天数: 150 天[LV.7]常住居民III
这个里面是看不到密码的& &这个二维码只能万能钥匙用的& && &要想看到密码你要去设置里面分享&&看你这截图像是华为的& &在wifi里面点一下当前连接的wifi就有二维码了&&截图下来用微信就能读出来了
上尉, 积分 1674, 距离下一级还需 327 积分
签到天数: 4 天[LV.2]偶尔看看I
微信扫一扫,就出了
上等兵, 积分 101, 距离下一级还需 100 积分
签到天数: 6 天[LV.2]偶尔看看I
不知道你的手机是什么的,我的手机连接好WiFi之后点WiFi名字有一个二维码&&用QQ扫出来可以看见明文密码&&
中校, 积分 6782, 距离下一级还需 3219 积分
签到天数: 467 天[LV.9]以坛为家II
红米小米都可以用二维码分享,其他手机没试过
上等兵, 积分 147, 距离下一级还需 54 积分
签到天数: 2 天[LV.1]初来乍到
随便一个扫二维码的app都可以看
上校, 积分 14604, 距离下一级还需 5397 积分
签到天数: 1642 天[LV.Master]伴坛终老
直接用wifi二维码APP.点击生成 就会显示
头像被屏蔽
签到天数: 2 天[LV.1]初来乍到
提示: 作者被禁止或删除 内容自动屏蔽
少尉, 积分 420, 距离下一级还需 81 积分
签到天数: 3 天[LV.2]偶尔看看I
本帖最后由 wxlyhh 于
18:35 编辑
用魅族手机,不要root就可以看见面密码
本帖子中包含更多资源
才可以下载或查看,没有帐号?
中校, 积分 6867, 距离下一级还需 3134 积分
签到天数: 780 天[LV.10]以坛为家III
红米小米都可以用二维码分享,其他手机没试过
上尉, 积分 1089, 距离下一级还需 912 积分
该用户从未签到
华为的用法是先截屏,然后把这个带二维码的截屏传给随意一个微信好友,然后再微信里长按图片然后识别二维码
少校, 积分 2923, 距离下一级还需 2078 积分
签到天数: 339 天[LV.8]以坛为家I
先截屏下来,然后用二维码扫描app的图片解码功能就能读出密码
Powered by帖子很冷清,卤煮很失落!求安慰
手机签到经验翻倍!快来扫一扫!
分享一个扫描WIFI二维码的方法,大神请忽略
168浏览 / 10回复
之前遇上他人分亨WIFI二维码,不知道肿么扫,用微信扫出来是乱码,上网查了许多资料都说要下软件,其实咱们5C不用那么麻烦,直接滑到负一屏,用扫一扫就可直接联接WIFI(负一屏在界面的最左边)
觉得有用的机友,顶起来让需要的机友看见
学到一个新技能,以前4.1有这种扫了直接连接的功能吗?我用微信扫是显示密码,这个负一屏扫一扫不显示密码
好名字取完了 发表于
09:59学到一个新技能,以前4.1有这种扫了直接连接的功能吗?我用微信扫是显示密码,这个负一屏扫一扫不显示密码 ...
你试一下,应该有,我是用5.0体验版试白了
好名字取完了 发表于
09:59学到一个新技能,以前4.1有这种扫了直接连接的功能吗?我用微信扫是显示密码,这个负一屏扫一扫不显示密码 ...
扫了以后直接连上
夜已深IV 发表于
10:03扫了以后直接连上
有时用万能钥匙连了,要扫出来密码告诉别人,那只能用微信扫了
谢谢分享,很实用。
没用的,楼主,就算你怎么换马甲都是没有用的,你的亿万拥戴者早已经把你认出来了,你一定就是传说中的最强ID。
好厉害哦!!!!
可能感兴趣的板块:
用户名/注册邮箱/注册手机号
其他第三方号登录静心思考,沉淀精华
Android扫描wifi二维码自动连接wifi
现在二维码的用处越来越多,微信扫二维码加好友,商场扫二维码关注公众号、得优惠券,就连一些小餐馆吃个饭,扫码自动跳转到线上(饿了么,百度外卖)的店铺.....而这些地方因为人多,担心用户等待时间过长就会走掉,怎么办?得有空调、wifi、西瓜,这样才能留住一部分客人,而wifi密码一般是直接问店里服务员获取,但是时间一长,人一多,店里老板和员工也烦了,干脆直接把wifi密码贴出来。但是这些都不够,我认为未来微信、QQ得加入(扩展)这个功能,扫描这个wifi二维码,询问用户是否连接上此wifi。不说了,看源码吧,还是挺简单的。原理是 基础的扫描二维码功能,识别二维码后,解析其内容,打开我们的wifi管理器,加入此wifi。一般标准的wifi二维码的格式是这样的: WIFI:S:arg1;P:arg2;T:arg3; 其中 arg1是wifi名(也就是SSID);arg2是密码,当然也可以为空,就是没有密码;arg3是网络的加密类型,一般有3种,无密码、Wpa/wap2、Wep。二维码扫描的部分就不说了,可以参考我前一篇的文章,或者嫌前一篇麻烦的,后面我会给出此Demo的源码。当我们扫描到二维码后,会在handleDecode中去处理扫描结果,处理完毕后会通过setResult方式,将Intent和结果传回MainActivty的onActivityResult中,然后通过requestCode和resultCode去判断来自于哪个activity的Intent,接着取出值。其解析处理结果 switch (requestCode) {
case SCANNIN_GREQUEST_CODE:
if(resultCode == RESULT_OK){
Bundle bundle = data.getExtras();
//显示扫描到的内容
mTextView.setText(bundle.getString("result"));
//mImageView.setImageBitmap((Bitmap) data.getParcelableExtra("bitmap"));
String strResult = bundle.getString("result");
if (strResult.contains("P:") && strResult.contains("T:")) {// 自动连接wifi
Log.e("扫描返回的结果-----&", strResult);// 还是要判断
String passwordTemp = strResult.substring(strResult
.indexOf("P:"));
password = passwordTemp.substring(2,
passwordTemp.indexOf(";"));
String netWorkTypeTemp = strResult.substring(strResult
.indexOf("T:"));
netWorkType = netWorkTypeTemp.substring(2,
netWorkTypeTemp.indexOf(";"));
String netWorkNameTemp = strResult.substring(strResult
.indexOf("S:"));
netWorkName = netWorkNameTemp.substring(2,
netWorkNameTemp.indexOf(";"));
if (!wifiAdmin.mWifiManager.isWifiEnabled()) {
Toast.makeText(this, "开启wifi设置", Toast.LENGTH_LONG)
wifiAdmin.openWifi();
Dialog alertDialog = new AlertDialog.Builder(this)
.setTitle("扫描到可用wifi")
.setIcon(R.drawable.ic_launcher)
.setMessage("wifi名:" + netWorkName)
.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog,
int which) {
// TODO Auto-generated method stub
.setPositiveButton("加入此wifi ",
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog,
int which) {
int net_type = 0x13;
if (netWorkType
.compareToIgnoreCase("wpa") == 0) {
net_type = WifiAdmin.TYPE_WPA;// wpa
} else if (netWorkType
.compareToIgnoreCase("wep") == 0) {
net_type = WifiAdmin.TYPE_WEP;// wep
net_type = WifiAdmin.TYPE_NO_PASSWD;// 无加密
wifiAdmin.addNetwork(netWorkName,
net_type);
Log.e("解析的数据-----&",
"networkname: "
+ netWorkName + " "
+ "password: "
+ password
+ " netWorkType: "
+ net_type);
}).create();
alertDialog.show();
} WifiAdmin.java的代码如下import android.content.C
import android.net.wifi.WifiC
import android.net.wifi.WifiI
import android.net.wifi.WifiM
import android.util.L
import java.util.L
* Created by cmos.
class WifiAdmin {
private static String TAG="WifiManger";
public static final int TYPE_NO_PASSWD = 0x11;
public static final int TYPE_WEP = 0x12;
public static final int TYPE_WPA = 0x13;
public WifiManager mWifiM
private WifiInfo mWifiI
public WifiAdmin(Context context){
mWifiManager=
(WifiManager) context.getSystemService(Context.WIFI_SERVICE);
// mWifiInfo = mWifiManager.getConnectionInfo();
// 添加一个网络并连接
public void addNetwork(WifiConfiguration wifi){
int netId=mWifiManager.addNetwork(wifi);
mWifiManager.enableNetwork(netId,true);
public void addNetwork(String ssid, String passwd, int type) {
if (ssid == null || passwd == null || ssid.equals("")) {
Log.e(TAG, "addNetwork() ## nullpointer error!");
if (type != TYPE_NO_PASSWD && type != TYPE_WEP && type != TYPE_WPA) {
Log.e(TAG, "addNetwork() ## unknown type = " + type);
addNetwork(createWifiInfo(ssid, passwd, type));
public WifiConfiguration createWifiInfo(String SSID, String password, int type) {
Log.e(TAG, "SSID = " + SSID + "## Password = " + password + "## Type = " + type);
WifiConfiguration config = new WifiConfiguration();
config.allowedAuthAlgorithms.clear();
config.allowedGroupCiphers.clear();
config.allowedKeyManagement.clear();
config.allowedPairwiseCiphers.clear();
config.allowedProtocols.clear();
config.SSID = "\"" + SSID + "\"";
WifiConfiguration tempConfig = this.IsExsits(SSID);
if (tempConfig != null) {
//如果已存在该SSID的wifi
mWifiManager.removeNetwork(tempConfig.networkId);
// 分为三种情况:1没有密码2用wep加密3用wpa加密
if (type == TYPE_NO_PASSWD) {// 没有密码
config.wepKeys[0] = "";
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
config.wepTxKeyIndex = 0;
} else if (type == TYPE_WEP) {
config.hiddenSSID =
config.wepKeys[0] = "\"" + password + "\"";
config.allowedAuthAlgorithms
.set(WifiConfiguration.AuthAlgorithm.SHARED);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
config.allowedGroupCiphers
.set(WifiConfiguration.GroupCipher.WEP104);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
config.wepTxKeyIndex = 0;
} else if (type == TYPE_WPA) {
// WPA加密
config.preSharedKey = "\"" + password + "\"";
config.hiddenSSID =
config.allowedAuthAlgorithms
.set(WifiConfiguration.AuthAlgorithm.OPEN);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
config.allowedPairwiseCiphers
.set(WifiConfiguration.PairwiseCipher.TKIP);
// config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedPairwiseCiphers
.set(WifiConfiguration.PairwiseCipher.CCMP);
config.status = WifiConfiguration.Status.ENABLED;
//检测该SSID是否已存在
private WifiConfiguration IsExsits(String SSID) {
List&WifiConfiguration& existingConfigs = mWifiManager.getConfiguredNetworks();
for (WifiConfiguration existingConfig : existingConfigs) {
if (existingConfig.SSID.equals("\"" + SSID + "\"")) {
return existingC
// 打开WIFI
public void openWifi() {
if (!mWifiManager.isWifiEnabled()) {
mWifiManager.setWifiEnabled(true);
// 关闭WIFI
public void closeWifi() {
if (mWifiManager.isWifiEnabled()) {
mWifiManager.setWifiEnabled(false);
最后,我们得加上处理wifi相应的权限。&uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /&
&uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /&
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&好了,是不是很简单。demo下载地址 最后的思考:其实我也在想这么一个需求,既然能识别,那也得加上一键生成我的wifi二维码功能啊,结合前篇的二维码生成,这样就实现wifi共享了,免得别人问我密码。但是,但是这个目前实现不了,准确的说是在非root功能上的手机实现不了,因为这就等效于“怎么获取连接wifi的密码”的问题了,假如我们可以通过代码能获取到密码的话,那么按照格式就可以自动生成了。但是通过收集资料,发现这个实现不了,想一下,目前市场上存在的wifi万能钥匙一类的app在使用时,如果要显示密码的话,就得获取root权限,所以说这个是暂时没有办法解决的。当然如果你有好的、通用的解决方法,欢迎留言给个思路。======更新=====最近回过头来,看这些问题,突然发现有部分人反应6.0以上系统,这个方法就有时不行,经过我这2天的初步了解,算找到了一部分的原因。原来是Android系统在6.0以上的系统对wifi模块做了修改。以下是官方的原文:Wi-Fi and Networking Changes1、This release introduces the following behavior changes to the Wi-Fi and networking APIs.Your apps can now change the state of WifiConfiguration objects only if you created these objects. You are not permitted to modify or delete WifiConfiguration objects created by the user or by other apps.2、Previously, if an app forced the device to connect to a specific Wi-Fi network by using enableNetwork() with the disableAllOthers=true setting, the device disconnected from other networks such as cellular data. In This release, the device no longer disconnects from such other networks. If your app’s targetSdkVersion is “20” or lower, it is pinned to the selected Wi-Fi network. If your app’s targetSdkVersion is “21” or higher, use the multinetwork APIs (such as openConnection(), bindSocket(), and the new bindProcessToNetwork() method) to ensure that its network traffic is sent on the selected network.翻译过来就是这样的()简单点说,就是android6.0 只允许操作自己创建的WifiConfiguration。自己创建的:就是自己的app通过代码来创建的用户或其他应用创建的:就是自己通过在系统设置里面选择ssid后,手动输入密码的;和其他应用通过代码来创建的对wifi的操作 用户或其他应用创建的wifi:虽然可以通过wifiManager的savedConfiguration方法获取到指定wifi对应的Configuration,但是并不能进行具体的操作,add该wifi,会直接返回-1(addNetwork(WifiConfigurationconfig)=-1),enableNetwork(config)时会导致app无响应,removeNetwork(config)=false,移除系统wifi也不会成功。自己创建的:可以进行add、enable、remove操作。下面上传一个,我测试通过的可以在6.0以上系统适配的代码:import android.content.C
import android.net.wifi.ScanR
import android.net.wifi.WifiC
import android.net.wifi.WifiM
import android.text.TextU
import android.util.L
import java.util.L
public class WifiAutoConnectManager {
private static final String TAG = WifiAutoConnectManager.class
.getSimpleName();
WifiManager wifiM
// 定义几种加密方式,一种是WEP,一种是WPA,还有没有密码的情况
public enum WifiCipherType {
WIFICIPHER_WEP, WIFICIPHER_WPA, WIFICIPHER_NOPASS, WIFICIPHER_INVALID
// 构造函数
public WifiAutoConnectManager(Context mContext) {
this.wifiManager = (WifiManager) mContext.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
// 提供一个外部接口,传入要连接的无线网
public void connect(String ssid, String password, WifiCipherType type) {
Thread thread = new Thread(new ConnectRunnable(ssid, password, type));
thread.start();
// 查看以前是否也配置过这个网络
private WifiConfiguration isExsits(String SSID) {
List&WifiConfiguration& existingConfigs = wifiManager
.getConfiguredNetworks();
for (WifiConfiguration existingConfig : existingConfigs) {
if (existingConfig.SSID.equals("\"" + SSID + "\"")) {
return existingC
private WifiConfiguration createWifiInfo(String SSID, String Password,
WifiCipherType Type) {
WifiConfiguration config = new WifiConfiguration();
config.allowedAuthAlgorithms.clear();
config.allowedGroupCiphers.clear();
config.allowedKeyManagement.clear();
config.allowedPairwiseCiphers.clear();
config.allowedProtocols.clear();
config.SSID = "\"" + SSID + "\"";
// config.SSID = SSID;
if (Type == WifiCipherType.WIFICIPHER_NOPASS) {
// config.wepKeys[0] = "";
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
// config.wepTxKeyIndex = 0;
if (Type == WifiCipherType.WIFICIPHER_WEP) {
if (!TextUtils.isEmpty(Password)) {
if (isHexWepKey(Password)) {
config.wepKeys[0] = P
config.wepKeys[0] = "\"" + Password + "\"";
config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
config.wepTxKeyIndex = 0;
if (Type == WifiCipherType.WIFICIPHER_WPA) {
config.preSharedKey = "\"" + Password + "\"";
config.hiddenSSID =
config.allowedAuthAlgorithms
.set(WifiConfiguration.AuthAlgorithm.OPEN);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
config.allowedPairwiseCiphers
.set(WifiConfiguration.PairwiseCipher.TKIP);
// 此处需要修改否则不能自动重联
// config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedPairwiseCiphers
.set(WifiConfiguration.PairwiseCipher.CCMP);
config.status = WifiConfiguration.Status.ENABLED;
// 打开wifi功能
private boolean openWifi() {
boolean bRet =
if (!wifiManager.isWifiEnabled()) {
bRet = wifiManager.setWifiEnabled(true);
// 关闭WIFI
private void closeWifi() {
if (wifiManager.isWifiEnabled()) {
wifiManager.setWifiEnabled(false);
private class ConnectRunnable implements Runnable {
private WifiCipherT
public ConnectRunnable(String ssid, String password, WifiCipherType type) {
this.ssid =
this.password =
this.type =
public void run() {
// 打开wifi
openWifi();
// 开启wifi功能需要一段时间(一般需要1-3秒左右),所以要等到wifi
// 状态变成WIFI_STATE_ENABLED的时候才能执行下面的语句
while (wifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLING) {
// 为了避免程序一直while循环,让它睡个200毫秒检测……
Thread.sleep(200);
} catch (InterruptedException ie) {
Log.e(TAG, ie.toString());
WifiConfiguration tempConfig = isExsits(ssid);
if (tempConfig != null) {
// wifiManager.removeNetwork(tempConfig.networkId);此方法只能删除自己应用创建的wifi
wifiManager.enableNetwork(tempConfig.networkId,
WifiConfiguration wifiConfig = createWifiInfo(ssid, password,
if (wifiConfig == null) {
Log.d(TAG, "wifiConfig is null!");
int netID = wifiManager.addNetwork(wifiConfig);
boolean enabled = wifiManager.enableNetwork(netID, true);
Log.d(TAG, "enableNetwork status enable=" + enabled);
boolean connected = wifiManager.reconnect();
Log.d(TAG, "enableNetwork connected=" + connected);
private static boolean isHexWepKey(String wepKey) {
final int len = wepKey.length();
// WEP-40, WEP-104, and some vendors using 256-bit WEP (WEP-232?)
if (len != 10 && len != 26 && len != 58) {
return isHex(wepKey);
private static boolean isHex(String key) {
for (int i = key.length() - 1; i &= 0; i--) {
final char c = key.charAt(i);
if (!(c &= '0' && c &= '9' || c &= 'A' && c &= 'F' || c &= 'a'
&& c &= 'f')) {
// 获取ssid的加密方式
public static WifiCipherType getCipherType(Context context, String ssid) {
WifiManager wifiManager = (WifiManager) context.getApplicationContext()
.getSystemService(Context.WIFI_SERVICE);
List&ScanResult& list = wifiManager.getScanResults();
for (ScanResult scResult : list) {
if (!TextUtils.isEmpty(scResult.SSID) && scResult.SSID.equals(ssid)) {
String capabilities = scResult.
// Log.i("hefeng","capabilities=" + capabilities);
if (!TextUtils.isEmpty(capabilities)) {
if (capabilities.contains("WPA")
|| capabilities.contains("wpa")) {
return WifiCipherType.WIFICIPHER_WPA;
} else if (capabilities.contains("WEP")
|| capabilities.contains("wep")) {
return WifiCipherType.WIFICIPHER_WEP;
return WifiCipherType.WIFICIPHER_NOPASS;
return WifiCipherType.WIFICIPHER_INVALID;
}大家可以拿过去测试下,如果有问题的,欢迎留言讨论======更新=====
没有更多推荐了,}

我要回帖

更多关于 怎么扫wifi密码二维码 的文章

更多推荐

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

点击添加站长微信