There seem to be 2 password hashes generated.
One for the username and pass in auth.account and one for the username and pass in auth.battlenet_accounts.
The latter contains what you look for.
I didnt actually look into the code so no idea if the account table password is used etc.
How did you try generating them? Can you share code?
How did you test your generations?
Did you try generating both of them or only one of them, which one?
It looks to me like both of them are done the same way (with different hashes), except in the bnet one the username is hashed and then hashed with the password.
Also the bnet one will be reversed, which means that instead of being 12345 it is 54321 (the bytes converted to hex will be in reverse order)
All parts (username, password, email) will be converted to uppercase before hashing. (see Utf8ToUpperOnlyLatin function)
How it looks to me:
normal hash - make everything uppercase, use sha1 to hash username:password. it should be noted that username is probably the 1#1 string.
bnet hash - make everything uppercase, use sha256 to hash email then use sha256 to hash hashedemail:password and that hash is reversed. Now email is used as the “username”.
The c++ code enforces some restrictions like length, characters the emails etc can contain and so.
Well… i pretended that i am really stupid (well, it seems that actually i am) and tried to simply use the username column from the account database… It worked, hash for the account database is the
hey guys. i try to create web application in python with flask for this core but for creating hash in battlenet_accounts table i cant figure it out how it work exactly. if someone could help, that would be nice. i’m following this part of code to making this: