feat: clean code
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
use aes_gcm_stream::{Aes256GcmStreamDecryptor, Aes256GcmStreamEncryptor};
|
||||
use rust_util::{opt_result, XResult};
|
||||
use zeroize::Zeroize;
|
||||
|
||||
pub fn try_aes_gcm_decrypt_with_salt(key: &[u8], nonce: &[u8], salt: &[u8], message: &[u8]) -> XResult<Vec<u8>> {
|
||||
let new_nonce = build_salted_nonce(nonce, salt);
|
||||
@@ -11,13 +9,7 @@ pub fn try_aes_gcm_decrypt_with_salt(key: &[u8], nonce: &[u8], salt: &[u8], mess
|
||||
}
|
||||
|
||||
pub fn aes_gcm_decrypt(key: &[u8], nonce: &[u8], message: &[u8]) -> XResult<Vec<u8>> {
|
||||
let mut key: [u8; 32] = opt_result!(key.try_into(), "Invalid envelop: {}");
|
||||
let mut aes256_gcm = Aes256GcmStreamDecryptor::new(key, nonce);
|
||||
let mut b1 = aes256_gcm.update(message);
|
||||
let b2 = opt_result!(aes256_gcm.finalize(), "Invalid envelop: {}");
|
||||
b1.extend_from_slice(&b2);
|
||||
key.zeroize();
|
||||
Ok(b1)
|
||||
Ok(opt_result!(aes_gcm_stream::aes_256_gcm_decrypt(key, nonce, message), "Bad key or cipher text: {}"))
|
||||
}
|
||||
|
||||
pub fn aes_gcm_encrypt_with_salt(key: &[u8], nonce: &[u8], salt: &[u8], message: &[u8]) -> XResult<Vec<u8>> {
|
||||
@@ -26,14 +18,7 @@ pub fn aes_gcm_encrypt_with_salt(key: &[u8], nonce: &[u8], salt: &[u8], message:
|
||||
}
|
||||
|
||||
pub fn aes_gcm_encrypt(key: &[u8], nonce: &[u8], message: &[u8]) -> XResult<Vec<u8>> {
|
||||
let mut key: [u8; 32] = opt_result!(key.try_into(), "Invalid envelop: {}");
|
||||
let mut aes256_gcm = Aes256GcmStreamEncryptor::new(key, nonce);
|
||||
let mut b1 = aes256_gcm.update(message);
|
||||
let (b2, tag) = aes256_gcm.finalize();
|
||||
b1.extend_from_slice(&b2);
|
||||
b1.extend_from_slice(&tag);
|
||||
key.zeroize();
|
||||
Ok(b1)
|
||||
Ok(opt_result!(aes_gcm_stream::aes_256_gcm_encrypt(key, nonce, message), "Bad key length: {}"))
|
||||
}
|
||||
|
||||
fn build_salted_nonce(nonce: &[u8], salt: &[u8]) -> Vec<u8> {
|
||||
|
||||
Reference in New Issue
Block a user