INNER CODE UNIT · Rust

slice

xoofx/Blake3.NET · lib/blake3_dotnet/src/lib.rs:19

    let slice = unsafe { std::slice::from_raw_parts(ptr as *const u8, size as usize) };
    let st = std::string::String::from_utf8_lossy(slice).into_owned();
    return Box::into_raw(Box::new(blake3::Hasher::new_derive_key(&st)));
}

// Deletes an existing a new instance of Blake3 Hasher
#[no_mangle]
pub extern "C" fn blake3_delete(hasher: *mut blake3::Hasher) {
  unsafe { drop(Box::from_raw(hasher)); }
}

// Resets Blake3 hasher
#[no_mangle]
pub extern "C" fn blake3_reset(
  hasher: *mut blake3::Hasher)
{
  let hasher = unsafe { &mut *hasher };
  hasher.reset();  

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…