如何解决如何使用new_type!宏来为氧化钠PublicKey和SecretKey设置更通用的类型?
我正在尝试为氧化钠PublicKey
和SecretKey
设置一个更通用的类型。
这取决于我们使用Box_
还是sign
:
type PubCryptoSecretKey = sodiumoxide::crypto::Box_::curve25519xsalsa20poly1305::SecretKey;
我想设置一个PublicKey
类型或与氧化钠键类型兼容的结构,例如struct PubKey(pub [u8; ?])
。
SecretKey
(或任何键)的来源是:
new_type! {
/// `SecretKey` for asymmetric authenticated encryption
///
/// When a `SecretKey` goes out of scope its contents
/// will be zeroed out
secret SecretKey(SECRETKEYBYTES);
}
其中SECRETKEYBYTES
的类型为usize
我找不到有关此new_type!
宏的任何信息。这是怎么回事,我该怎么走?
解决方法
这是how the macro defines the structure,但我看不出有什么好方法可以轻松地为它们两者定义通用类型。
可能的解决方案是在板条箱中定义一个新特征,然后为PublicKey
和SecretKey
实施。该特征应为您提供足够的功能以与每个结构进行交互。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。