Scenario:
This is a interesting personal testing during my job. I have been had a question about code-breaking. And I always want to find out how many time will be consume if a person want to use the method of exhaustion to crack a 16 bits password.
OK, following is my testing. If someone wants to crack a 16 bits password with the method of exhaustion. He/She has to generate 16 bit sequence in real time. (Of course, you can use password dictionary instead of generate sequence in real time. But that will be took up many space on your disk.)
To simplify our question, I developed a simple code to generate 8 bits sequence with recursion.
Code:
Result:
To be clear, 800,000,000 seconds = 800,000,000/60/60/24/365 = 25.3678 years.
25 years is really a huge time consuming to generate 16 bit numeral. In this case, we didn’t consider time consuming on other resource, like Network Communication Consume, the Max of System Continuous Running… In addition, if one password includes alphabet, numeral and punctuation, the work will be more terrible.
To summary, I think we can say that if we want to crack a 16 bit sequence, we must find out an faster way to generate these sequences. Otherwise, we have to wait untill 25 years later.
This is a quick testing for my interesting. If you have any good idea, please kindly share with me.
Thanks!
Xianyi.Ye