#checksum #protocols

rc_protocol

Rust implementation of the Random Checksum Protocol

1 stable release

1.0.0 Aug 5, 2022

#961 in Authentication

MIT license

12KB
143 lines

rcp-rs

Implemention of RCP in rust

Usage

use std::collections::HashMap;
use rc_protocol::RCPConfig;

// Config is used to create a checksum as well as validate a checksum
let config = RCPConfig {
  shared_secret: "Shared Secret Key".to_string(),
  use_time_component: true,
  time_delta: 5,
};

let mut m = HashMap::new();
m.insert("key1", "value1");
m.insert("key2", "value2");

// Get the checksum for a given dictionary
let checksum = config.get_checksum(&m, "TestSalt"); 

// Validate a given checksum
if !config.validate_checksum(&m, "TestSalt", &checksum) {
     println!("Checksum was incorrect");
}

Dependencies

~1.5MB
~28K SLoC