Update RSA, base64

This commit is contained in:
asonix 2023-01-23 08:43:26 -06:00
parent a0052b50e2
commit 6c43f9533c
2 changed files with 7 additions and 7 deletions

View file

@ -11,9 +11,9 @@ readme = "README.md"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
base64 = "0.13" base64 = "0.21"
num-bigint-dig = "0.8" num-bigint-dig = "0.8"
rsa = "0.7.0" rsa = "0.8.1"
thiserror = "1.0.9" thiserror = "1.0.9"
[dev-dependencies] [dev-dependencies]

View file

@ -30,7 +30,7 @@
//! use rsa_magic_public_key::FromMagicPublicKey; //! use rsa_magic_public_key::FromMagicPublicKey;
//! let public_key = RsaPublicKey::from_magic_public_key(&magic_public_key).unwrap(); //! let public_key = RsaPublicKey::from_magic_public_key(&magic_public_key).unwrap();
//! ``` //! ```
use base64::{decode_config, encode_config, URL_SAFE}; use base64::{engine::general_purpose::URL_SAFE, Engine};
use num_bigint_dig::BigUint; use num_bigint_dig::BigUint;
use rsa::{PublicKey, RsaPublicKey}; use rsa::{PublicKey, RsaPublicKey};
use thiserror::Error; use thiserror::Error;
@ -66,8 +66,8 @@ where
T: PublicKey, T: PublicKey,
{ {
fn as_magic_public_key(&self) -> String { fn as_magic_public_key(&self) -> String {
let n = encode_config(&self.n().to_bytes_be(), URL_SAFE); let n = URL_SAFE.encode(&self.n().to_bytes_be());
let e = encode_config(&self.e().to_bytes_be(), URL_SAFE); let e = URL_SAFE.encode(&self.e().to_bytes_be());
format!("Rsa.{}.{}", n, e) format!("Rsa.{}.{}", n, e)
} }
@ -86,8 +86,8 @@ impl FromMagicPublicKey for RsaPublicKey {
let n = iter.next().ok_or(KeyError::Malformed)?; let n = iter.next().ok_or(KeyError::Malformed)?;
let e = iter.next().ok_or(KeyError::Malformed)?; let e = iter.next().ok_or(KeyError::Malformed)?;
let n = decode_config(n, URL_SAFE)?; let n = URL_SAFE.decode(n)?;
let e = decode_config(e, URL_SAFE)?; let e = URL_SAFE.decode(e)?;
let n = BigUint::from_bytes_be(&n); let n = BigUint::from_bytes_be(&n);
let e = BigUint::from_bytes_be(&e); let e = BigUint::from_bytes_be(&e);