2008年6月25日 星期三

判別WEP的ASCII與Hex型態之密碼

Standard
這是之前的一小則心得小記,一直記錄在桌面便條紙上,整理了一下。WEP 的密碼長度分為 40bits 和 104bits ,若是換成 byte 單位是 5bytes 和 13bytes,也就是 5 或 13 個 ASCII 字元。在 Linux 上,我們可以用 iwconfig 來設定 WEP 的 ASCII 密碼:
40bits 用 ASCII 表示:
iwconfig wifi0 key "s:12345"

104bits 用 ASCII 表示:
iwconfig wifi0 key "s:1234567890abc"

不過有些時候,WEP 會用十六進位表示密碼,因為每個字元由兩位十六進位碼表示,所以我們可以看到很長的密碼,用 iwconfig 來設定的話像這樣:
40bits 用 16 進位表示:
iwconfig wifi0 key "AABBCCDDEE"

104bits 用 16 進位表示:
iwconfig wifi0 key "AABBCCDDEEFF11223344556677"

由此可見,在一般情況下,只有在 5 和 13 個字元時會用 ASCII 表示,而其它字數時都是 16 進位型態,所以若是我們寫一個程式,判別用戶所輸入的 WEP 密碼型態,就可以用這種規則去識別。