I need to find the password for a Wi-Fi network that I am already connected to. I'm using a MacBook Pro that's running OS X Lion. Any guidance is appreciated.
If the password is stored, you can find it using the program Keychain Access.
If you open
/Applications/Utilities/Keychain Access, it will show you a list of stored entries. If you click the Kind column header, it will sort by kind, go to the section where AirPort network passwords are stored. On Yosemite, you may have to select "Local Items" rather than "login" under Keychains in the upper left.
Double-click the name of the network you are using (if you don't know the name of the network, you can find it in the WiFi menulet (the concentric quarter circles toward the right side of your menu bar).
Check the Show password box, enter your system password, and click the Allow button.
That should show you the password for the wireless network you are on, if it is stored on your computer. If no such entry appears, it means the password is not stored on your computer.
Note that you can also use this technique to find saved passwords for websites or other passwords that you computer has stored but you have forgotten.
For those looking for a Terminal solution, I was able to rig one up using the
security find-generic-password -a "$1" -g | tail -0
I also wrote code that can get your current WiFi network and provide the password for it as well. You can find that in a gist here.
NOTE: You will still need to provide your user/pass to access the password. This is part of the security mechanism Apple implemented into using Keychain and cannot be easily overcome.