[citation][nom]moricon[/nom]This will take a far longer time to brute force or Hash compare than 100 dictionary words strung together![/citation]
Nope, sorry. The number of characters (including upper, lower, and "special" characters like you showed ... including space) is a little over 90 from what I remember. Let's be generous and say 100, though.
Let's also assume the attacker knows your password is 8 characters long, so he doesn't waste time trying 1, 2, 3, ... , and 7 character passwords.
That's 100^8 different choices. ... or 10,000,000,000,000,000. Not bad.
How about dictionary words? Well, let's just be simple and say that everyone picks from the top 1000 most common words (though, trust me, the dictionary I'm randomly selecting from isn't this small). And let's say the hacker again knows the user has selected a 100 dictionary word password.
That's a total of 1000^100 different possibilities. I hope you don't expect me to write that huge number out here.
In fact, choosing as little as 5 (truly at random) dictionary words gives you 1000^5 = 1,000,000,000,000,000 choices, which is pretty close to your 8 character nonsense password. But the hacker has to also store that dictionary, so with looking up the dictionary words, it'd probably take 10x+ longer to do each check, so it's actually just about as secure at that point.
If we start talking about pulling from more realistic dictionaries, the difference becomes significantly more extreme.