3.0.10 • Published 4 years ago
steam-crypto-esm v3.0.10
Node.js implementation of Steam connection crypto.
This is a fork from @doctormckay/steam-crypto.
Rewritten in Typescript with @types and converted to ESM
Updated to use crypto .update()
and cipher.final()
instead of piped streams
.
generateSessionKey(nonce)
- Generate a 32-byte symmetric sessionkey and encrypt it with Steam's public "System" key.
nonce
- If provided, will be appended to the sessionKey when encrypting.- This is usually the webNonce provided by Steam CM upon on logon
symmetricEncryptWithHmacIv(data, sessionKey)
- Encrypt
data
with AES and prepend an HMAC IV - This is the encryption protocol Steam uses in the client connection.
symmetricDecrypt(input, sessionKey)
- Decrypt the data from Steam
sha1(input, sessionKey)
- Hash input with sha1 algorithm