This demonstration starts with the string 'aa' and 'increments' it letter-by-letter ('aa', 'ab', 'ac', and so on). When it gets to 'zz', it adds a letter and continues on ('aaa', 'aab', 'aac', and so on). It will keep guessing until a match is found
Because of memory constraints with the browser, we can only check up to 5 characters (i.e., 'aa' to 'zzzzz'). But this will check every letter combination between them and tell you when it finds a match
It also shows the hash value for the input and match values (though behind-the-scenes, here, we're doing simple string comparison -- if we hashed every value, the browser would run out of memory real quick)
One security issue with computers is passwords. When you create a password, the word itself isn't stored within the application. It is run through a hash function and the function's output is then stored with the application
A hash function is sometimes referred to as a 'one-way' function. What that means is that you can pass a string (for example) to it and get an output value, but you cannot get the original string back. If you feed the hash value into the function, you just get a hash of the hash.
A brute-force password cracking application basically tries every possible combination of passwords, hashes each, and compares it to the known hash value. If it matches, then the password has been 'cracked' (since the application knows what value it hashed in the first place)
OK