Is it possible to crack a password hashed using SSHA if I know the salt? How can I do it?

  • Depending on the format, you might have to convert the hash/salt to/from hex/base64 for JtR or Hashcat to work on them.
    – Marcin
    Jan 16, 2013 at 14:54

3 Answers 3


SSHA, or more commonly known as salted SHA1 can be easily cracked with John the Ripper.

  • as i know it is very hard to crack it because of salt. i used to crack md5, sha,... using online decryptors , but no online dycryptor for ssha
    – user1028
    Jul 24, 2012 at 17:27
  • 2
    @USER1028 haha, that is a funny one. I don't think you understand why a salt is used. SHA1 is a very fast hash function, this will crack very quickly.
    – rook
    Jul 24, 2012 at 17:28
  • 7
    @user1028 A salt is added for 2 reasons. 1, to prevent two passwords from yielding the same hash. 2, to prevent pre-computed attacks like rainbowtables. You can provide JTR the salt as an argument, so its is exactly the same speed as if it didn't have a salt.
    – rook
    Jul 24, 2012 at 17:43
  • 2
    If you've got a GPU with OpenCL or CUDA support, you should use oclHashcat - it'll be hundreds of times faster than your CPU.
    – Polynomial
    Jul 25, 2012 at 7:40
  • 1
    @Polynomial JTR has gpu support.
    – rook
    Jul 25, 2012 at 17:03

SSHA is a variant of SHA-1 with a salt included in the computation. This algorithm is used in some LDAP servers and originally comes from a Netscape internal draft specification. There are apparently several variants; see this page for a description of one used by an Oracle product, and that page for some PHP code which purports to compute the same function. They differ by the size of the salt (64 bits vs 32 bits). However, they have the same structure: a single SHA-1 computation over the concatenation of the password and the salt, and some encoding on the resulting value (some Base64, with the salt, and a recognizable header).

The function is salted; that's good. This is effective against precomputed tables, in particular the much touted rainbow tables.

The function is not iterated; that's bad. For an attacker knowing the hash, "trying" a potential password is a matter of a single SHA-1 computation over a short input (less than the 64 bytes of an elementary internal SHA-1 block size), and that can be computed real fast. A single SHA-1 computation is about one thousand 32-bit operations. A basic x86 core will need 500 clock cycles for that (at most); with SSE2 opcodes, in the context of password cracking, this falls to about 200 clock cycles per SHA-1. Thus, a quad-core Core2 at 2.4 GHz will try 48 million passwords per second (that's what my code achieved, at least). A good GPU will be much better, since GPU are very good at 32-bit operations; one billion password hashes per second is a realistic figure.

There are not many passwords which resist cracking attempts which can try one billion passwords per second. Even famous methods for generating passwords with 44 bits of entropy will last two or three hours on average.


U could also use, Cain and Able to crack password encrypted with that encryption algorithm.

  • Hashing is not encryption since it does not have inverse function nor a secret involved. Sep 10, 2021 at 10:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .