feat: update tests
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
use aes_gcm_stream::Aes256GcmStreamDecryptor;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_aes_gcm_01() {
|
fn test_aes_gcm_01() {
|
||||||
use aes_gcm_stream::Aes256GcmStreamEncryptor;
|
use aes_gcm_stream::Aes256GcmStreamEncryptor;
|
||||||
@@ -32,8 +34,7 @@ fn test_aes_gcm_01() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_aes_gcm_02() {
|
fn test_aes_gcm_02() {
|
||||||
use aes_gcm::{Aes256Gcm, Key, KeyInit, Nonce};
|
use aes_gcm_stream::Aes256GcmStreamDecryptor;
|
||||||
use aes_gcm::aead::{Aead};
|
|
||||||
|
|
||||||
let data_key = hex::decode("aa01020304050607080910111213141516171819202122232425262728293031").unwrap();
|
let data_key = hex::decode("aa01020304050607080910111213141516171819202122232425262728293031").unwrap();
|
||||||
let nonce = hex::decode("aa0102030405060708091011").unwrap();
|
let nonce = hex::decode("aa0102030405060708091011").unwrap();
|
||||||
@@ -44,17 +45,19 @@ fn test_aes_gcm_02() {
|
|||||||
let plain_text2 = hex::encode("This is a test message.".as_bytes());
|
let plain_text2 = hex::encode("This is a test message.".as_bytes());
|
||||||
let encrypted_text2 = hex::decode("5ebb20cdf5828e1e533ae1043ce6703cfa51574a83a069700aedefdbe2c735b01b74da214cba4a").unwrap();
|
let encrypted_text2 = hex::decode("5ebb20cdf5828e1e533ae1043ce6703cfa51574a83a069700aedefdbe2c735b01b74da214cba4a").unwrap();
|
||||||
|
|
||||||
|
let key256: [u8; 32] = data_key.as_slice().try_into().unwrap();
|
||||||
let key = Key::<Aes256Gcm>::from_slice(&data_key);
|
|
||||||
let nonce = Nonce::from_slice(&nonce);
|
|
||||||
{
|
{
|
||||||
let mut aes256_gcm = Aes256Gcm::new(&key);
|
let mut decryptor = Aes256GcmStreamDecryptor::new(key256.clone(), &nonce);
|
||||||
let plain_text = aes256_gcm.decrypt(&nonce, encrypted_text1.as_slice()).unwrap();
|
let mut plain_text = decryptor.update(encrypted_text1.as_slice());
|
||||||
|
let last_block = decryptor.finalize().unwrap();
|
||||||
|
plain_text.extend_from_slice(&last_block);
|
||||||
assert_eq!(plain_text1, hex::encode(&plain_text));
|
assert_eq!(plain_text1, hex::encode(&plain_text));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
let mut aes256_gcm = Aes256Gcm::new(&key);
|
let mut decryptor = Aes256GcmStreamDecryptor::new(key256.clone(), &nonce);
|
||||||
let plain_text = aes256_gcm.decrypt(&nonce, encrypted_text2.as_slice()).unwrap();
|
let mut plain_text = decryptor.update(encrypted_text2.as_slice());
|
||||||
|
let last_block = decryptor.finalize().unwrap();
|
||||||
|
plain_text.extend_from_slice(&last_block);
|
||||||
assert_eq!(plain_text2, hex::encode(&plain_text));
|
assert_eq!(plain_text2, hex::encode(&plain_text));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user