WiFi 二維碼生成器

把網路名稱和密碼生成為二維碼,客人掃一下就能連上。支援 WPA、WEP、開放網路以及隱藏 SSID,全部在瀏覽器本地生成。

不用再念一遍密碼了。 填好網路資訊,用任意現代手機相機掃一下即可。二維碼在本地繪製,你的密碼不會發送到任何地方。

二維碼

先輸入網路名稱即可生成二維碼。

這就是二維碼裡實際包含的字串,採用 Android 和 iOS 都能識別的 WIFI: 格式。

WiFi 二維碼到底是怎麼工作的

它就是一段文本,不是什麼魔法圖片

作為圖片,WiFi 二維碼並沒有任何特殊之處。它編碼的是一小段純文本,格式從 2010 年起被 Android 支援、從 iOS 11 起被蘋果支援,長這個樣子:WIFI:T:WPA;S:MyNetwork;P:hunter2;;。真正起作用的是三個欄位——T 表示加密型別,S 是 SSID,P 是密碼——最後一個分號結束整條記錄。

正因為是純文本,你可以在列印之前先讀一遍本工具生成的內容,確認 SSID 拼寫正確,確認裡面沒有意料之外的東西。相機應用解析這些欄位,提示你加入網路,並把憑據交給作業系統。不需要 App,不需要賬號,也不經過任何中間服務。

轉義是簡陋生成器最容易翻車的地方

WIFI: 格式裡有五個字元具有結構意義:反斜槓、分號、逗號、冒號和雙引號。密碼裡只要含有其中任何一個,就必須用反斜槓轉義,否則解析器會把它當成欄位結束。密碼 pa;ss 如果不轉義,生成出的二維碼會用 pa 去連線,而且這種失敗是無聲的——手機只會提示密碼錯誤,沒人會懷疑到二維碼頭上。

本生成器會對這五個字元全部轉義。如果你的密碼比較特殊,值得看一眼「編碼內容」欄位:正確轉義的字串會在這些字元前面顯示反斜槓。這些反斜槓屬於編碼的一部分,不是你密碼的一部分,手機在連線前會把它們去掉。

隱藏網路與糾錯等級

H:true; 欄位告訴手機這個 SSID 不廣播。沒有它,手機掃了隱藏網路的二維碼後會去找這個 SSID,發現沒有被廣播,然後放棄。有了它,手機就知道要按名稱主動探測。給正常廣播的網路加上這個標記無害,只是連線會稍慢一點,所以只在網路確實隱藏時才勾選。

糾錯等級決定了二維碼被破壞多少還能掃出來。L 級可承受約 7% 的損壞,生成的碼最小;H 級可承受約 30%,但要把同樣的資料塞進多得多的模組裡,在相同列印尺寸下每個模組會小很多。桌面上的卡片用 M 就是合適的預設值。如果是會被磨損的貼紙,或者中間要放 logo 的碼,就選 Q 或 H。

二維碼由 node-qrcode(MIT 許可證)在本地生成。你的網路名稱和密碼不會離開瀏覽器。

常見問題

我的密碼會被髮送出去嗎?
不會。二維碼由本地庫在瀏覽器裡繪製,編碼內容從不離開頁面。你斷網之後這個工具依然可用。
哪些手機能掃?
iOS 11 及以上的 iPhone,以及基本上 Android 10 之後的所有手機,用系統自帶的相機應用即可,不需要額外裝掃碼 App。
密碼裡有分號或逗號怎麼辦?
會自動轉義。這些字元在 WIFI: 格式裡具有結構意義,工具會在每個字元前插入反斜槓,手機在連線前會把反斜槓去掉。
加密方式該選 WPA 還是 WPA2?
同一個 `WPA` 值就涵蓋了 WPA、WPA2 和 WPA3,這個格式裡並沒有區分它們的獨立標識。只有真正老舊的裝置才需要選 WEP,無密碼的網路選開放網路。
什麼時候需要提高糾錯等級?
打印出來的碼會被刮擦、會彎曲,或者中間要蓋一個 logo 時。等級越高能容忍的損壞越多,但同樣大小裡塞進的模組也更多,所以要相應列印得更大一些。
別人能從圖片裡還原出密碼嗎?
能。二維碼不是加密。任何能拍到這個碼的人都能讀出密碼。請把打印出來的 WiFi 二維碼,當作寫在紙上的密碼一樣對待。