hash

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 5, 2026 License: MIT Imports: 6 Imported by: 0

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL