1#[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}