From 44aa44bcf1bc8eb09b400faef2b548635bbbd762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BC=82=E6=B5=81?= Date: Mon, 2 Dec 2019 22:10:10 +0800 Subject: [PATCH] reduce loops and type conversions (#176) --- src/crypto/aead.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/crypto/aead.rs b/src/crypto/aead.rs index 6d68efa2..19b975c2 100644 --- a/src/crypto/aead.rs +++ b/src/crypto/aead.rs @@ -140,10 +140,12 @@ pub fn increase_nonce(nonce: &mut [u8]) { /// AEAD ciphers requires to increase nonce after encrypt/decrypt every chunk #[cfg(not(feature = "sodium"))] pub fn increase_nonce(nonce: &mut [u8]) { - let mut prev: u16 = 1; for i in nonce { - prev += *i as u16; - *i = prev as u8; - prev >>= 8; + if std::u8::MAX == *i { + *i = 0; + } else { + *i += 1; + return; + } } }