magic_crypt/
macros.rs

1/// This macro provides a convenient way to create a `MagicCrypt<bits>` instance or a `MagicCrypt` instance.
2#[macro_export]
3macro_rules! new_magic_crypt {
4    (wrapper $key:expr) => {
5        $crate::MagicCrypt::new($key, $crate::SecureBit::Bit128, None::<String>)
6    };
7    (wrapper $key:expr,64) => {
8        $crate::MagicCrypt::new($key, $crate::SecureBit::Bit64, None::<String>)
9    };
10    (wrapper $key:expr,128) => {
11        $crate::MagicCrypt::new($key, $crate::SecureBit::Bit128, None::<String>)
12    };
13    (wrapper $key:expr,192) => {
14        $crate::MagicCrypt::new($key, $crate::SecureBit::Bit192, None::<String>)
15    };
16    (wrapper $key:expr,256) => {
17        $crate::MagicCrypt::new($key, $crate::SecureBit::Bit256, None::<String>)
18    };
19    (wrapper $key:expr,64, $iv:expr) => {
20        $crate::MagicCrypt::new($key, $crate::SecureBit::Bit64, Some($iv))
21    };
22    (wrapper $key:expr,128, $iv:expr) => {
23        $crate::MagicCrypt::new($key, $crate::SecureBit::Bit128, Some($iv))
24    };
25    (wrapper $key:expr,192, $iv:expr) => {
26        $crate::MagicCrypt::new($key, $crate::SecureBit::Bit192, Some($iv))
27    };
28    (wrapper $key:expr,256, $iv:expr) => {
29        $crate::MagicCrypt::new($key, $crate::SecureBit::Bit256, Some($iv))
30    };
31    ($key:expr) => {{
32        use $crate::MagicCryptTrait;
33
34        $crate::MagicCrypt128::new($key, None::<String>)
35    }};
36    ($key:expr,64) => {{
37        use $crate::MagicCryptTrait;
38
39        $crate::MagicCrypt64::new($key, None::<String>)
40    }};
41    ($key:expr,128) => {{
42        use $crate::MagicCryptTrait;
43
44        $crate::MagicCrypt128::new($key, None::<String>)
45    }};
46    ($key:expr,192) => {{
47        use $crate::MagicCryptTrait;
48
49        $crate::MagicCrypt192::new($key, None::<String>)
50    }};
51    ($key:expr,256) => {{
52        use $crate::MagicCryptTrait;
53
54        $crate::MagicCrypt256::new($key, None::<String>)
55    }};
56    ($key:expr,64, $iv:expr) => {{
57        use $crate::MagicCryptTrait;
58
59        $crate::MagicCrypt64::new($key, Some($iv))
60    }};
61    ($key:expr,128, $iv:expr) => {{
62        use $crate::MagicCryptTrait;
63
64        $crate::MagicCrypt128::new($key, Some($iv))
65    }};
66    ($key:expr,192, $iv:expr) => {{
67        use $crate::MagicCryptTrait;
68
69        $crate::MagicCrypt192::new($key, Some($iv))
70    }};
71    ($key:expr,256, $iv:expr) => {{
72        use $crate::MagicCryptTrait;
73
74        $crate::MagicCrypt256::new($key, Some($iv))
75    }};
76}