|Transport Layer:||Transmission Control Protocol (TCP)|
|Application Layer:||BNLS Messages (BNLS)|
|Direction:||Client to Server|
|Used By:||Starcraft Original, Starcraft Broodwar|
Starcraft Shareware, Starcraft Japanese
Diablo Retail, Diablo Shareware
Diablo II, Diablo II Lord of Destruction
Warcraft II BNE
(does not include protocol header)
This message will calculate the hash of the given data.
The hashing algorithm used is the Battle.net standard hashing algorithm also known as "Broken SHA-1"
* For clarity, the optional fields come after the VOID and not before.
The flags may be zero, or any bitwise combination of the following flags:
This flag has no effect.
0x02: Double Hash
If this flag is present, the server will calculate a double hash.
First it will calculate the hash of the data. Then it will prepend the client key and the server key to the resulting hash, and calculate the hash of the result. If this flag is present, the client key and server key UINT32s must be specified in the request after the data.
This may be used to calculate password hashes for the "Old Logon System".
0x04: Cookie Hash
If this flag is present, a cookie UINT32 is specified in the request.
This is an application-defined value that is echoed back to the client in the response.