Is it possible to decrypt some string which was earlier encrypted with the SHA-1 algorithm in Java?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
SHA1 is a cryptographic hash function, and the entire point is that you can’t undo it. If it was possible to reverse the hash (find the input for a given hash), it wouldn’t be useful. If you need to encrypt something and later decrypt it, you should use an encryption function like AES or RSA.
However, for very simple inputs it may be possible to crack the hash function by guessing what the input was and checking if the hash is the same.
Example Python code:
Of course, if you actually want to crack hashes efficiently, using software like John the Ripper or Hashcat is probably your best bet. Note that this usually works on passwords since they’re short and easy to guess, but the difficulty increases exponentially as the input increases. You can crack every SHA-1 hash with a 6-character input in minutes, while cracking one with 16 characters would take trillions of years on average.