Documentation
¶
Overview ¶
Package hash computes TLS fingerprint hashes (JA3, JA3S, JA4, JA4S) from parsed ClientHello and ServerHello messages.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func JA3Hash ¶
func JA3Hash(ch *parse.ClientHello) string
JA3Hash returns the MD5 hex digest of the JA3 string.
func JA3SHash ¶
func JA3SHash(sh *parse.ServerHello) string
JA3SHash returns the MD5 hex digest of the JA3S string.
func JA3SString ¶
func JA3SString(sh *parse.ServerHello) string
JA3SString returns the raw JA3S fingerprint string for a ServerHello. Format: SSLVersion,CipherSuite,Extensions Extensions are dash-separated type IDs with GREASE excluded.
func JA3String ¶
func JA3String(ch *parse.ClientHello) string
JA3String returns the raw JA3 fingerprint string for a ClientHello. Format: SSLVersion,Ciphers,Extensions,EllipticCurves,ECPointFormats Each list field uses dash-separated decimal values. GREASE values are excluded.
func JA4 ¶
func JA4(ch *parse.ClientHello) string
JA4 returns the full JA4 fingerprint string for a ClientHello. Format: a_b_c where b and c are truncated SHA256 hashes (first 12 hex chars).
func JA4Raw ¶
func JA4Raw(ch *parse.ClientHello) string
JA4Raw returns the raw (unhashed) JA4 fingerprint string for a ClientHello. Format: a_b_c where b and c are the full comma-separated decimal strings (not truncated SHA256). Useful for debugging and verification.
func JA4S ¶
func JA4S(sh *parse.ServerHello) string
JA4S returns the full JA4S fingerprint string for a ServerHello. Format: a_b_c
- a = {protocol}{version}{ext_count}{alpn}
- b = sha256(cipher_suite decimal)[:12]
- c = sha256(sorted extensions, comma-separated decimal)[:12]
Types ¶
This section is empty.