Merge pull request #8 from evenorog/master

Remove some unnecessary to_vec calls in code
This commit is contained in:
Cléo Rebert 2020-09-12 08:54:07 +02:00 committed by GitHub
commit 8c86a94f3e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 5 deletions

View File

@ -6,9 +6,9 @@ This library permits the creation of 2FA authentification tokens per TOTP, the v
## Features ## Features
--- ---
### qr ### qr
With optionnal feature "qr", you can use it to generate a base64 png qrcode With optional feature "qr", you can use it to generate a base64 png qrcode
### serde_support ### serde_support
With optionnal feature "serde_support", library-defined types will be Deserialize-able and Serialize-able With optional feature "serde_support", library-defined types will be Deserialize-able and Serialize-able
## How to use ## How to use
--- ---

View File

@ -92,7 +92,7 @@ impl<T: AsRef<[u8]>> TOTP<T> {
/// Will sign the given timestamp /// Will sign the given timestamp
pub fn sign(&self, time: u64) -> Vec<u8> { pub fn sign(&self, time: u64) -> Vec<u8> {
let ctr = (time / self.step).to_be_bytes().to_vec(); let ctr = (time / self.step).to_be_bytes();
match self.algorithm { match self.algorithm {
Algorithm::SHA1 => { Algorithm::SHA1 => {
let mut mac = HmacSha1::new_varkey(self.secret.as_ref()).expect("no key"); let mut mac = HmacSha1::new_varkey(self.secret.as_ref()).expect("no key");
@ -116,7 +116,7 @@ impl<T: AsRef<[u8]>> TOTP<T> {
pub fn generate(&self, time: u64) -> String { pub fn generate(&self, time: u64) -> String {
let result: &[u8] = &self.sign(time); let result: &[u8] = &self.sign(time);
let offset = (result[19] & 15) as usize; let offset = (result[19] & 15) as usize;
let mut rdr = Cursor::new(result[offset..offset + 4].to_vec()); let mut rdr = Cursor::new(&result[offset..offset + 4]);
let result = rdr.read_u32::<BigEndian>().unwrap() & 0x7fff_ffff; let result = rdr.read_u32::<BigEndian>().unwrap() & 0x7fff_ffff;
format!( format!(
"{1:00$}", "{1:00$}",
@ -177,7 +177,7 @@ impl<T: AsRef<[u8]>> TOTP<T> {
let size: u32 = ((code.width() + 8) * 8) as u32; let size: u32 = ((code.width() + 8) * 8) as u32;
let encoder = image::png::PNGEncoder::new(&mut vec); let encoder = image::png::PNGEncoder::new(&mut vec);
encoder.encode( encoder.encode(
&code.render::<Luma<u8>>().build().to_vec(), code.render::<Luma<u8>>().build().as_ref(),
size, size,
size, size,
image::ColorType::L8, image::ColorType::L8,