torchbear 0.11.2

Lua programming environment in Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use rlua::{Error as LuaError, Lua};
use blake2::*;
use sodiumoxide::crypto::hash;
use base64;

/// Returns base64 encoded SHA-512 of `msg`
pub fn hash(_lua: &Lua, msg: String) -> Result<String, LuaError> {
    let digest = hash::hash(msg.as_bytes());
    Ok(base64::encode(&digest))
}

/// Returns base64 encoded BLAKE2B of `msg`
pub fn blake2_hash(_lua: &Lua, msg: String) -> Result<String, LuaError> {
    let mut hasher = Blake2b::new();
    hasher.input(msg);
    let digest = hasher.result();
    Ok(base64::encode(&digest))
}