verse-session-id

Crates.ioverse-session-id
lib.rsverse-session-id
version1.0.1
sourcesrc
created_at2023-07-14 07:21:42.311935
updated_at2023-07-14 21:31:46.702649
descriptionSession ID for [@VerseEngine/verse-core](https://github.com/VerseEngine/verse-core)
homepagehttps://verseengine.cloud/
repositoryhttps://github.com/VerseEngine/verse-session-id
max_upload_size
id915897
size21,481
(VerseEngine)

documentation

README

verse-session-id

crates.io docs.rs MIT MIT

ID with signature/verification functions.
Used as session ID in @VerseEngine/verse-core.

Usage

Signature Verification

use verse_session_id::*;

...
pub fn verify_string(session_id: &str, signature: &str, data: &str) -> bool {
    let Ok(sid) = session_id.parse::<SessionId>() else {
        return false;
    };
    let Ok(ss) = signature.parse::<SignatureSet>() else {
        return false;
    };

    sid.verify(vec![data.as_bytes()], &ss).is_ok()
}

Generate ID

let id_pair = new_session_id_pair()?;
let session_id = id_pair.get_id();
// to string
let s = format!("{}", session_id);

Create a signature

pub fn sign_string(&self, data: &str) -> Result<String> {
    let id_pair = ...;
    Ok(id_pair
        .sign(vec![data.as_bytes()])?
        .to_string())
}
Commit count: 7

cargo fmt