1. 程式人生 > 其它 >獲取wifi密碼

獲取wifi密碼

wifi的SSID獲取資料較多,但wifi密碼的獲取資料較少,隨筆寫了一個供參考

private static string Password(string sSID)
        {
            string netshProfile = $"wlan show profile name = {sSID}";
            string netshProfilePassword = $"wlan show profile name = {sSID} key = clear";
            string profile = NetshProcess(netshProfile);
            
string profilePassword = NetshProcess(netshProfilePassword); var profileArray = FilterProfile(profile); var profilePasswordArray = FilterProfile(profilePassword); string password = string.Empty; int yeirdIndex = Math.Min(profilePasswordArray.Count, profileArray.Count);
for (int i = 0; i < yeirdIndex; i++) { if (profilePasswordArray[i] == profileArray[i]) continue; password = profilePasswordArray[i].Split(new char[] { '', ':' })[1]; break; } return password; } private
static List<string> FilterProfile(string profile) { var profileArray = profile.Split(new char[] { '\r', '\n' }).Reverse().ToList(); for (int i = profileArray.Count - 1; i >= 0; i--) { if (string.IsNullOrWhiteSpace(profileArray[i])|| !profileArray[i].Contains(":") && !profileArray[i].Contains("")) profileArray.RemoveAt(i); } return profileArray; } public static string NetshProcess(string args) { using (var p = new Process()) { p.StartInfo = new ProcessStartInfo("netsh", args); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.CreateNoWindow = true; p.Start(); string output = p.StandardOutput.ReadToEnd(); p.WaitForExit(); return output; } }
View Code