#networking #flow #community #id #hashing #identifier #hash

community-id

This package provides a Rust implementation of the open Community ID flow hashing standard

7 releases

0.2.3 Jun 19, 2024
0.2.2 Oct 7, 2023
0.2.1 Aug 11, 2023
0.1.2 May 14, 2023

#500 in Network programming

Download history 4038/week @ 2024-11-17 3983/week @ 2024-11-24 4567/week @ 2024-12-01 3890/week @ 2024-12-08 4304/week @ 2024-12-15 2634/week @ 2024-12-22 3286/week @ 2024-12-29 3910/week @ 2025-01-05 4842/week @ 2025-01-12 4818/week @ 2025-01-19 3897/week @ 2025-01-26 4482/week @ 2025-02-02 5249/week @ 2025-02-09 5167/week @ 2025-02-16 6325/week @ 2025-02-23 5927/week @ 2025-03-02

23,014 downloads per month
Used in vrl

MIT/Apache

35KB
925 lines

rs-community-id

This package provides a Rust implementation of the open Community ID flow hashing standard.

Community ID

"Community ID" is a separate specification for generating a likely-unique identifier for a network connection proposed by Corelight (the company behind Bro/Zeek). See community-id-spec

Usage

# Cargo.toml
[dependencies]
community-id = "0.2"
use std::net::Ipv4Addr;
use community_id::calculate_community_id;

let id = calculate_community_id(
    0,
    Ipv4Addr::new(1, 2, 3, 4).into(),
    Ipv4Addr::new(5, 6, 7, 8).into(),
    Some(1122),
    Some(3344),
    6,
    Default::default(),
);
assert_eq!("1:wCb3OG7yAFWelaUydu0D+125CLM=", id.unwrap());

License

This project is licensed under either of

at your option.

Dependencies

~1.1–1.7MB
~39K SLoC