diff --git a/main/ui/pom.xml b/main/ui/pom.xml index 514288e89..0df9015cc 100644 --- a/main/ui/pom.xml +++ b/main/ui/pom.xml @@ -65,7 +65,7 @@ com.nulab-inc zxcvbn - 1.2.7 + 1.3.0 diff --git a/main/ui/src/main/java/org/cryptomator/ui/common/NewPasswordController.java b/main/ui/src/main/java/org/cryptomator/ui/common/NewPasswordController.java index b8a0ecdaa..a603f034b 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/common/NewPasswordController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/common/NewPasswordController.java @@ -38,7 +38,7 @@ public class NewPasswordController implements FxController { public void initialize() { BooleanBinding passwordsMatch = Bindings.createBooleanBinding(this::hasSamePasswordInBothFields, passwordField.textProperty(), reenterField.textProperty()); BooleanBinding reenterFieldNotEmpty = reenterField.textProperty().isNotEmpty(); - passwordStrength.bind(Bindings.createIntegerBinding(() -> strengthRater.computeRate(passwordField.getCharacters().toString()), passwordField.textProperty())); + passwordStrength.bind(Bindings.createIntegerBinding(() -> strengthRater.computeRate(passwordField.getCharacters()), passwordField.textProperty())); passwordStrengthLabel.textProperty().bind(EasyBind.map(passwordStrength, strengthRater::getStrengthDescription)); passwordMatchLabel.visibleProperty().bind(reenterFieldNotEmpty); diff --git a/main/ui/src/main/java/org/cryptomator/ui/common/PasswordStrengthUtil.java b/main/ui/src/main/java/org/cryptomator/ui/common/PasswordStrengthUtil.java index 76385c372..f03da3d7a 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/common/PasswordStrengthUtil.java +++ b/main/ui/src/main/java/org/cryptomator/ui/common/PasswordStrengthUtil.java @@ -8,12 +8,10 @@ *******************************************************************************/ package org.cryptomator.ui.common; -import com.google.common.base.Strings; import com.nulabinc.zxcvbn.Zxcvbn; import org.cryptomator.ui.fxapp.FxApplicationScoped; import javax.inject.Inject; -import java.util.ArrayList; import java.util.List; import java.util.ResourceBundle; @@ -34,12 +32,12 @@ public class PasswordStrengthUtil { this.sanitizedInputs = List.of("cryptomator"); } - public int computeRate(String password) { - if (Strings.isNullOrEmpty(password)) { + public int computeRate(CharSequence password) { + if (password == null || password.length() == 0) { return -1; } else { int numCharsToRate = Math.min(PW_TRUNC_LEN, password.length()); - return zxcvbn.measure(password.substring(0, numCharsToRate), sanitizedInputs).getScore(); + return zxcvbn.measure(password.subSequence(0, numCharsToRate), sanitizedInputs).getScore(); } }