update README

ffi
Avril 4 years ago
parent 09f361f8a0
commit ab8c713145
Signed by: flanchan
GPG Key ID: 284488987C31F630

@ -1,6 +1,6 @@
[package] [package]
name = "chacha20stream" name = "chacha20stream"
version = "1.0.0" version = "1.0.1"
keywords = ["chacha20_poly1305", "stream", "wrapper", "encryption", "decryption"] keywords = ["chacha20_poly1305", "stream", "wrapper", "encryption", "decryption"]
description = "A writable wrapper stream for encryption and decryption with the stream cipher chacha20_poly1305" description = "A writable wrapper stream for encryption and decryption with the stream cipher chacha20_poly1305"
homepage = "https://git.flanchan.moe/flanchan/chacha20stream" homepage = "https://git.flanchan.moe/flanchan/chacha20stream"

@ -1,7 +1,7 @@
# chacha20_poly1305 stream wrapper # chacha20_poly1305 stream wrapper
Contains a writable stream that wraps another, applying the chacha20_poly1305 cipher to the input before writing for either encryption or decryption. Contains a writable stream that wraps another, applying the chacha20_poly1305 cipher to the input before writing for either encryption or decryption.
## Usage ## Usage example
Encrypt and decrypt message with an in-memory buffer. Encrypt and decrypt message with an in-memory buffer.
```rust ```rust
// Generate random key and IV for the operations. // Generate random key and IV for the operations.
@ -9,14 +9,14 @@ let (key, iv) = chacha20stream::keygen();
let input = "Hello world!"; let input = "Hello world!";
// Encryption into a new `Vec<u8>`. // Encryption into a new `Vec<u8>`. (Any implementor of `io::Write` or `&mut io::Write` can be used.)
let mut sink = Sink::encrypt(Vec::new(), key, iv).expect("Failed to create encryptor"); let mut sink = Sink::encrypt(Vec::new(), key, iv).expect("Failed to create encryptor");
sink.write_all(input.as_bytes()).unwrap(); sink.write_all(input.as_bytes()).unwrap();
sink.flush().unwrap(); // `flush` also clears the in-memory buffer if there is left over data in it. sink.flush().unwrap(); // `flush` also clears the in-memory buffer if there is left over data in it.
let output_encrypted = sink.into_inner(); let output_encrypted = sink.into_inner();
// Decryption into a new `Vec<u8>` // Decryption into a new `Vec<u8>`. (Any implementor of `std::io::Write` or `&mut std::io::Write` can be used.)
let mut sink = Sink::decrypt(Vec::new(), key, iv).expect("Failed to create decryptor"); let mut sink = Sink::decrypt(Vec::new(), key, iv).expect("Failed to create decryptor");
sink.write_all(&output_encrypted[..]).unwrap(); sink.write_all(&output_encrypted[..]).unwrap();
sink.flush().unwrap(); sink.flush().unwrap();

Loading…
Cancel
Save