Issue and verify vouchers
```rust fn main() { let start = std::time::Instant::now(); let result = calldynamic().expect("运行出错"); let usetime = start.elapsed(); println!("success :{} 总用时:{}毫秒", result, usetime.asmillis()); }
fn calldynamic() -> Result
= lib.get(b"sign")?; let verifyfunc: libloading::Symbol< unsafe extern "C" fn( data: *const cchar, sign: *const cchar, timestamp: clonglong, ) -> cint, = lib.get(b"verify")?; let usetime = start.elapsed(); println!("启动用时:{}微秒", usetime.asmicros());
let start = std::time::Instant::now();
let data = CString::from_vec_unchecked(Vec::from("hello world"));
let sign = CString::from_vec_unchecked(vec![1; 128]);
let result = sign_func(data.as_ptr(), 1866248975, sign.as_ptr());
assert_ne!(result,-1,"签名失败");
let use_time = start.elapsed();
println!("签名用时:{}微秒", use_time.as_micros());
let start = std::time::Instant::now();
let result = verify_func(data.as_ptr(), sign.as_ptr(), 1866248975);
assert_ne!(result,-1,"验签失败");
let use_time = start.elapsed();
println!("验证用时:{}微秒", use_time.as_micros());
return Ok(0);
}
}
```