Skip to content

Commit

Permalink
feat(crypto-helper): update rust toolchain and inproved argon2 ui;
Browse files Browse the repository at this point in the history
  • Loading branch information
TheBestTvarynka committed Mar 27, 2024
1 parent 74fb406 commit 64e50b5
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 17 deletions.
2 changes: 1 addition & 1 deletion rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[toolchain]
channel = "1.76.0"
channel = "1.77.0"
components = [ "rustfmt", "clippy" ]
8 changes: 5 additions & 3 deletions src/crypto_helper/computations.rs
Original file line number Diff line number Diff line change
Expand Up @@ -105,10 +105,12 @@ pub fn process_argon2(input: &Argon2Input) -> Result<Vec<u8>, String> {
);

let salt = if hash_action.salt.is_empty() {
password_hash::SaltString::generate(OsRng::default())
password_hash::SaltString::generate(OsRng)
} else {
password_hash::SaltString::from_b64(&base64::engine::general_purpose::STANDARD_NO_PAD.encode(&hash_action.salt))
.map_err(|e| e.to_string())?
password_hash::SaltString::from_b64(
&base64::engine::general_purpose::STANDARD_NO_PAD.encode(&hash_action.salt),
)
.map_err(|e| e.to_string())?
};

let hash = argon2ctx
Expand Down
26 changes: 13 additions & 13 deletions src/crypto_helper/input/argon2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ pub struct Argon2InputProps {

#[function_component(Argon2Input)]
pub fn argon2_input(props: &Argon2InputProps) -> Html {
let data: Vec<u8> = props.input.data.clone();

let input_setter = props.argon2_input_setter.clone();
let action: Argon2Action = props.input.action.clone();
let setter = Callback::from(move |data| {
Expand Down Expand Up @@ -90,18 +88,20 @@ pub fn argon2_input(props: &Argon2InputProps) -> Html {
{build_byte_input(data, setter, Some(BytesFormat::Ascii), Some("password".into()))}
{match &props.input.action {
Argon2Action::Hash(hash_action) => html! {
<>
<div class="vertical">
{build_byte_input(hash_action.salt.clone(), salt_setter, Some(BytesFormat::Ascii), Some("salt".into()))}
<select onchange={set_version} class="base-input">
<option value="Argon10">{"Argon10"}</option>
<option value="Argon13">{"Argon13"}</option>
</select>
<select onchange={set_variant} class="base-input">
<option value="Argon2i">{"Argon2i"}</option>
<option value="Argon2d">{"Argon2d"}</option>
<option value="Argon2id">{"Argon2id"}</option>
</select>
</>
<div class="horizontal">
<select onchange={set_version} class="base-input">
<option value="Argon10">{"Argon10"}</option>
<option value="Argon13">{"Argon13"}</option>
</select>
<select onchange={set_variant} class="base-input">
<option value="Argon2i">{"Argon2i"}</option>
<option value="Argon2d">{"Argon2d"}</option>
<option value="Argon2id">{"Argon2id"}</option>
</select>
</div>
</div>
},
Argon2Action::Verify(hash) => html! {
<>
Expand Down

0 comments on commit 64e50b5

Please sign in to comment.