For security, what I do is I have secure passwords of sometimes upwards of 70 characters. Then, if for example, it is on Windows setup, I will alternate between the fields of ENTRY and RE ENTRY.
On top of this, I will click or arrow backwards and insert characters (ie. I will never type my passwords sequentially [if I am concerned for security])
You could also type off screen, if you are worried about the key logging.
I use a combination of letters, numbers, and symbols and generally section them off into blocks. These blocks I then assign the number value of how many characters are contained in that block for purpose of implementing and keeping track of the previously mentioned method of clicking and arrowing as it can get confusing. Sorry if that isn't too clear, I will clarify section as needed.
So, lets say you section your password off into 16 components of varying (or consistent string lengths). I section those 16 components off into rows of 4 and implement from there. Also, when setting up passwords, I don't implement the order of those 4 rows the same way as I do in either password entry field. This is what I consider to be reliable security, and for any one to be able to deduce what your password is will take enormous amounts of effort, if possible at all.
1
See also Reliable software keylogger detection? on Server Fault: http://serverfault.com/questions/39445/reliable-software-keylogger-detection
– Arjan – 2009-07-17T14:22:47.543