feat: update readme

This commit is contained in:
2023-08-27 16:51:41 +08:00
parent 2b5b807af0
commit 0686ad6e20

View File

@@ -3,25 +3,27 @@
## Encrypt ## Encrypt
```rust ```rust
// IMPORTANT! key and nonce SHOULD generate by random // IMPORTANT! key and nonce SHOULD generate by random
let mut key = [0u8; 32]; let mut key = [0u8; 32];
let mut nonce = [0; 12]; let mut nonce = [0; 12];
let mut encryptor = Aes256GcmStreamEncryptor::new(key.clone(), &nonce); let mut encryptor = Aes256GcmStreamEncryptor::new(key.clone(), &nonce);
let mut ciphertext = vec![]; let mut ciphertext = vec![];
ciphertext.extend_from_slice(&encryptor.update(b"Hello ")); ciphertext.extend_from_slice(&encryptor.update(b"Hello "));
ciphertext.extend_from_slice(&encryptor.update(b" World")); ciphertext.extend_from_slice(&encryptor.update(b" World"));
ciphertext.extend_from_slice(&encryptor.update(b"!")); ciphertext.extend_from_slice(&encryptor.update(b"!"));
let (last_block, tag) = encryptor.finalize(); let (last_block, tag) = encryptor.finalize();
ciphertext.extend_from_slice(&last_block); ciphertext.extend_from_slice(&last_block);
ciphertext.extend_from_slice(&tag); ciphertext.extend_from_slice(&tag);
println!("Ciphertext: {}", hex::encode(&ciphertext)); println!("Ciphertext: {}", hex::encode(&ciphertext));
``` ```
## Run Example ## Run Example
Open example: [encrypt_and_decrypt.rs](https://git.hatter.ink/hatter/aes-gcm-stream/src/branch/main/examples/encrypt_and_decrypt.rs)
```shell ```shell
$ cargo run --example encrypt_and_decrypt $ cargo run --example encrypt_and_decrypt
Finished dev [unoptimized + debuginfo] target(s) in 0.10s Finished dev [unoptimized + debuginfo] target(s) in 0.10s