Add documentation for confid

This commit is contained in:
Alex Page 2023-06-28 21:11:05 -04:00
parent 0c17e706ba
commit 369b8b04bc

View file

@ -1,3 +1,13 @@
//! Code to generate a Confirmation ID for a given Installation ID
//!
//! ## History
//! The algorithm this uses was originally provided to the UMSKT project by diamondggg.
//! The history provided by diamondggg is that they are the originator of the code
//! and was created in tandem with an acquaintance who knows number theory.
//! The file dates suggest this code was written sometime in 2017/2018.
//!
//! The Rust version of the code was created by running the original through C2Rust
//! and then manually fixing up the result.
use thiserror::Error;
mod black_box;
@ -18,6 +28,10 @@ pub enum ConfirmationIdError {
Unlucky,
}
/// Generates a confirmation ID from the given installation ID
///
/// # Arguments
/// * `installation_id` - A string with 7 groups of 6 digits, with or without hyphens
pub fn generate(installation_id: &str) -> Result<String, ConfirmationIdError> {
if installation_id.len() < 54 {
return Err(ConfirmationIdError::TooShort);