Object writeReplace() { return SaltedSimpleDigestPassword.createRaw(algorithm, digest, salt); }
SaltedSimpleDigestPasswordImpl(final SaltedSimpleDigestPassword password) { this(password.getAlgorithm(), password.getSalt().clone(), password.getDigest().clone()); }
default boolean impliesParameters(AlgorithmParameterSpec parameterSpec) { Assert.checkNotNullParam("parameterSpec", parameterSpec); return parameterSpec.equals(getParameterSpec()); }
default SaltedPasswordAlgorithmSpec getParameterSpec() { return new SaltedPasswordAlgorithmSpec(getSalt()); }
default SaltedPasswordAlgorithmSpec getParameterSpec() { return new SaltedPasswordAlgorithmSpec(getSalt()); }
SaltedSimpleDigestPasswordImpl(final SaltedSimpleDigestPassword password) { this(password.getAlgorithm(), password.getSalt().clone(), password.getDigest().clone()); }
private static Password createSaltedSimpleDigestPassword(String algorithm, int prefixSize, byte[] userPassword) throws InvalidKeySpecException { int length = userPassword.length - prefixSize; byte[] decoded = CodePointIterator.ofUtf8Bytes(userPassword, prefixSize, length).base64Decode().drain(); int digestLength = expectedDigestLengthBytes(algorithm); int saltLength = decoded.length - digestLength; if (saltLength < 1) { throw log.insufficientDataToFormDigestAndSalt(); } byte[] digest = new byte[digestLength]; byte[] salt = new byte[saltLength]; System.arraycopy(decoded, 0, digest, 0, digestLength); System.arraycopy(decoded, digestLength, salt, 0, saltLength); return SaltedSimpleDigestPassword.createRaw(algorithm, digest, salt); }
default SaltedPasswordAlgorithmSpec getParameterSpec() { return new SaltedPasswordAlgorithmSpec(getSalt()); }
default boolean impliesParameters(AlgorithmParameterSpec parameterSpec) { Assert.checkNotNullParam("parameterSpec", parameterSpec); return parameterSpec.equals(getParameterSpec()); }
SaltedSimpleDigestPasswordImpl(final SaltedSimpleDigestPassword password) { this(password.getAlgorithm(), password.getSalt().clone(), password.getDigest().clone()); }
Object writeReplace() { return SaltedSimpleDigestPassword.createRaw(algorithm, digest, salt); }
default SaltedPasswordAlgorithmSpec getParameterSpec() { return new SaltedPasswordAlgorithmSpec(getSalt()); }
default boolean impliesParameters(AlgorithmParameterSpec parameterSpec) { Assert.checkNotNullParam("parameterSpec", parameterSpec); return parameterSpec.equals(getParameterSpec()); }
SaltedSimpleDigestPasswordImpl(final SaltedSimpleDigestPassword password) { this(password.getAlgorithm(), password.getSalt().clone(), password.getDigest().clone()); }
Object writeReplace() { return SaltedSimpleDigestPassword.createRaw(algorithm, digest, salt); }
default boolean impliesParameters(AlgorithmParameterSpec parameterSpec) { Assert.checkNotNullParam("parameterSpec", parameterSpec); return parameterSpec.equals(getParameterSpec()); }