I have been doing some test on password strength using arabic passwords and try to crack it using hashcat and when i used a non salted hash like a custom generated md5 hash and tried using --hex-charset parameter and it works like a charm but when i try it on pdf files it is not working i even decreased the password to 1 character

in case you are wondering:

My assumptions are:

1.maybe the pseudo random salt generator takes chars from the password itself

2.the password hashing algorithm stores the password in unknown charset format when the password is from non-English chars

So my question is:

1.is there another workaround on this(is it possible)?

2.if my 2nd guess is correct please tell me what unicode?

UPDATE after researching i found the problem is the tool used to encrypt the file uses non ASCI characters when using non ASCI characters in my case arabic i am trying to use utf-8 format like D985 can someone tell me which unicode microsoft office and adobe acrobat use when using non ASCI characters.

  • $\begingroup$ I'm voting to close this question as off-topic because tool-specific questions are off topic here and so are reference requests. You should be able to ask tools specific questions on SuperUser, and there is also a Software Recommendations site for the 3rd question. $\endgroup$
    – Maarten Bodewes
    Nov 21, 2017 at 17:46
  • $\begingroup$ i am updating the question wait. $\endgroup$
    – Deadpool
    Nov 21, 2017 at 17:47

1 Answer 1


If you cannot get things to work with the application you can try and use the source code instead. A lot of these tools are open source. Then you can specify the character set directly and/or use an Arabic dictionary.

The password itself is not stored when a password is hashed. That means that the precise encoding details are lost - the password hashing algorithms themselves process bytes, not characters usually. Nowadays a lot of password hashes and applications default to UTF-8 though, which can encode any character set. UTF-16 and UTF-16LE can also be tried, with and without BOM header.

However, to find out which character set is used just from the hash (instead of, say, a protocol specification) you can only try.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.