3个不稳定版本
0.2.1 | 2024年7月12日 |
---|---|
0.2.0 | 2024年7月8日 |
0.1.1 | 2024年6月7日 |
#1057 在 密码学
298 每月下载量
用于 gday
21KB
327 行
gday_encryption
一个简单的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