2个版本
0.0.2 | 2023年8月22日 |
---|---|
0.0.1 | 2023年8月22日 |
#1530 in 加密学
14KB
217 代码行
XTEA分组(解)密
最小化、无依赖的XTEA分组(解)密工具。
用法
目前,在当前状态下,使用此crate的两种直接方法。
以下是一个基本的、最小化的加密任意数据的示例:
/// Construct the block cipher accordingly to fit the use-case.
let xtea_cipher = Xtea::using_key([0u32, 0u32, 0u32, 0u32])
// Optionally, the amount of rounds to be applied may be specified. Otherwise, the
// suggested amount of 32 will be used.
.with_rounds(10);
/// Create the input array to be processed as well as a suitable output array to write the processed results to.
let mut input = vec![0u8; 60];
let mut output = Vec::with_capacity(input.len());
/// Handle any error results.
if let Err(e) = xtea_cipher.encipher(&mut input, &mut output) {
...
}
类似地,解密数据可以通过以下方式实现:
let xtea_cipher = Xtea::using_key([0u32, 0u32, 0u32, 0u32]);
let mut input = vec![0u8; 60];
let mut output = Vec::with_capacity(input.len());
/// Handle any error results.
if let Err(e) = xtea_cipher.decipher(&mut input, &mut output) {
..
}
注意
此crate可能在未来的版本中经历破坏性变化,直到其标记为稳定版本 1.0.0
。然而,除非有正当理由,否则将避免破坏性变化。另外,请随时在github上创建一个问题,引用任何错误/意外行为或缺乏支持。