#加密 #分组加密 #输入/输出

xtea-cipher

最小化、无依赖的XTEA分组(解)密工具

2个版本

0.0.2 2023年8月22日
0.0.1 2023年8月22日

#1530 in 加密学

MIT 许可证

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上创建一个问题,引用任何错误/意外行为或缺乏支持。

无运行时依赖