lib_did/
lib.rs

1extern crate libsm;
2extern crate bip39;
3extern crate num_bigint;
4
5pub mod mc;
6pub mod sm;
7
8#[cfg(test)]
9mod tests {
10    use crate::mc::Mc;
11    use crate::sm::Sm;
12
13    #[test]
14    fn mc_test1() {
15        Mc::new_mnemonic();
16    }
17
18    #[test]
19    fn sm_test1() {
20        let b = Sm::new_master_key();
21        println!("{} {}", b.0, b.1)
22    }
23
24    #[test]
25    fn sm_test2() {
26        let bytes = b"ced586c083cb59fe11b6bde0984a2411d471bcc564e9a8667c4c4c0b02cae9e7";
27        let b = Sm::pri_to_pub(bytes);
28        println!("{}", b)
29    }
30
31    #[test]
32    fn sm_test3() {
33        let pri_key = b"bf0a4549f58d1d436764b6d758a7aabd243081d0580efa04a6707d6950669d7d";
34        let msg = b"123";
35        let b = Sm::sign(pri_key, msg);
36        println!("{}", b);
37    }
38
39    #[test]
40    fn sm_test4() {
41        let pub_key = b"039cae08b2f6f0d02cf600fd7f36698e07968571e9aa33006db24e5eb70aad6800";
42        let msg = b"123";
43        let signature = b"30450221008651c47d596cdcfc47875295ba77459f59afcb126efee5e0798f1ea5b8f58201022010cfbe005492eb3ac400c5ff9ec126624fb4826e41d438f28f9a5f5275c0751a";
44        let sig = hex::decode(signature).unwrap();
45        let _pub = hex::decode(pub_key).unwrap();
46        let b = Sm::verify(msg, &_pub, &sig);
47        println!("{:?}", b);
48    }
49}