#文件传输 #IO流 #加密 #流加密 #命令行工具 #包装器 #流式传输

gday_encryption

简单的ChaCha20Poly1305加密包装,用于IO流

3个不稳定版本

0.2.1 2024年7月12日
0.2.0 2024年7月8日
0.1.1 2024年6月7日

#1057密码学

Download history 148/week @ 2024-06-04 16/week @ 2024-06-11 90/week @ 2024-07-02 168/week @ 2024-07-09 4/week @ 2024-07-16 36/week @ 2024-07-23

298 每月下载量
用于 gday

MIT 许可证

21KB
327

gday_encryption

Crates.io Version docs.rs

一个简单的IO流加密包装。使用流式chacha20poly1305加密。

请参阅文档

被使用

  • gday - 用于发送文件的命令行工具。

lib.rs:

一个简单的IO流加密包装。

使用流式chacha20poly1305加密。

此库由gday_file_transfer使用,而gday又使用gday_file_transfer

通常,我推荐使用经过良好建立的rustls进行加密。gday_file_transfer选择此库是因为rustls不支持使用共享密钥的端到端连接。

示例

#
let shared_key: [u8; 32] = [42; 32];

//////// Peer A ////////
let mut encrypted_stream = EncryptedStream::encrypt_connection(&mut tcp_stream, &shared_key)?;
encrypted_stream.write_all(b"Hello!")?;
encrypted_stream.flush()?;

//////// Peer B (on a different computer) ////////
let mut encrypted_stream = EncryptedStream::encrypt_connection(&mut tcp_stream, &shared_key)?;

let mut received = [0u8; 6];
encrypted_stream.read_exact(&mut received)?;

依赖项

~1MB
~20K SLoC