My questions about Crack are:
Before we pass in salt do we have to define it ourselves? For example, since it's a 2 digit number do we create a method that produces random numbers for salt or does it do it on its own?
The crypt() function encrypts a password, so is it my job to decrypt it? Just want to verify. So when someone passes in a hash I should decrypt that password to plaintext?
Is salt used in the decryption of the password? In other words, if I have a hash and my salt begins with 52, do I need that value to decrypt the password?
By brute force do they mean exhaust all possible values? Is this a case for permutations? So if I have an encrypted password, in order to decrypt it I should check for values like this:
a aa aaa aaaa aaaaa b bb bbb bbbb bbbbb ab aab aaab aaaab abb etc...