/** * Encode the given {@link PasswordSpec} to a byte array. * * @param passwordSpec the password spec to encode * @return a byte array representing the encoded password or null if no encoder was capable to encode the given password */ public static byte[] encode(PasswordSpec passwordSpec) throws NoSuchAlgorithmException, InvalidKeySpecException { if (passwordSpec instanceof ClearPasswordSpec) { return encodeClearPasswordSpec((ClearPasswordSpec) passwordSpec); } else if (passwordSpec instanceof DigestPasswordSpec) { return encodeDigestPasswordSpec((DigestPasswordSpec) passwordSpec); } else if (passwordSpec instanceof SaltedHashPasswordSpec) { return encodeSaltedHashPasswordSpec((SaltedHashPasswordSpec) passwordSpec); } else if (passwordSpec instanceof IteratedSaltedHashPasswordSpec) { return encodeIteratedSaltedHashSpec((IteratedSaltedHashPasswordSpec) passwordSpec); } else if (passwordSpec instanceof HashPasswordSpec) { return encodeHashPasswordSpec((HashPasswordSpec) passwordSpec); } return null; }
/** * Encode the given {@link Password} to a byte array. * * @param password the password to encode * @param providers providers to use with the underlying {@link PasswordFactory} * @return a byte array representing the encoded password or null if no encoder was capable to encode the given password */ public static byte[] encode(Password password, Supplier<Provider[]> providers) throws NoSuchAlgorithmException, InvalidKeySpecException { PasswordFactory passwordFactory = PasswordFactory.getInstance(password.getAlgorithm(), providers); if (passwordFactory.convertibleToKeySpec(password, ClearPasswordSpec.class)) { return encodeClearPasswordSpec(passwordFactory.getKeySpec(password, ClearPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, DigestPasswordSpec.class)) { return encodeDigestPasswordSpec(passwordFactory.getKeySpec(password, DigestPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, SaltedHashPasswordSpec.class)) { return encodeSaltedHashPasswordSpec(passwordFactory.getKeySpec(password, SaltedHashPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, IteratedSaltedHashPasswordSpec.class)) { return encodeIteratedSaltedHashSpec(passwordFactory.getKeySpec(password, IteratedSaltedHashPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, HashPasswordSpec.class)) { return encodeHashPasswordSpec(passwordFactory.getKeySpec(password, HashPasswordSpec.class)); } return null; }
/** * Encode the given {@link PasswordSpec} to a byte array. * * @param passwordSpec the password spec to encode * @return a byte array representing the encoded password or null if no encoder was capable to encode the given password */ public static byte[] encode(PasswordSpec passwordSpec) throws NoSuchAlgorithmException, InvalidKeySpecException { if (passwordSpec instanceof ClearPasswordSpec) { return encodeClearPasswordSpec((ClearPasswordSpec) passwordSpec); } else if (passwordSpec instanceof DigestPasswordSpec) { return encodeDigestPasswordSpec((DigestPasswordSpec) passwordSpec); } else if (passwordSpec instanceof SaltedHashPasswordSpec) { return encodeSaltedHashPasswordSpec((SaltedHashPasswordSpec) passwordSpec); } else if (passwordSpec instanceof IteratedSaltedHashPasswordSpec) { return encodeIteratedSaltedHashSpec((IteratedSaltedHashPasswordSpec) passwordSpec); } else if (passwordSpec instanceof HashPasswordSpec) { return encodeHashPasswordSpec((HashPasswordSpec) passwordSpec); } return null; }
/** * Encode the given {@link PasswordSpec} to a byte array. * * @param passwordSpec the password spec to encode * @return a byte array representing the encoded password or null if no encoder was capable to encode the given password */ public static byte[] encode(PasswordSpec passwordSpec) throws NoSuchAlgorithmException, InvalidKeySpecException { if (passwordSpec instanceof ClearPasswordSpec) { return encodeClearPasswordSpec((ClearPasswordSpec) passwordSpec); } else if (passwordSpec instanceof DigestPasswordSpec) { return encodeDigestPasswordSpec((DigestPasswordSpec) passwordSpec); } else if (passwordSpec instanceof SaltedHashPasswordSpec) { return encodeSaltedHashPasswordSpec((SaltedHashPasswordSpec) passwordSpec); } else if (passwordSpec instanceof IteratedSaltedHashPasswordSpec) { return encodeIteratedSaltedHashSpec((IteratedSaltedHashPasswordSpec) passwordSpec); } else if (passwordSpec instanceof HashPasswordSpec) { return encodeHashPasswordSpec((HashPasswordSpec) passwordSpec); } return null; }
/** * Encode the given {@link PasswordSpec} to a byte array. * * @param passwordSpec the password spec to encode * @return a byte array representing the encoded password or null if no encoder was capable to encode the given password */ public static byte[] encode(PasswordSpec passwordSpec) throws NoSuchAlgorithmException, InvalidKeySpecException { if (passwordSpec instanceof ClearPasswordSpec) { return encodeClearPasswordSpec((ClearPasswordSpec) passwordSpec); } else if (passwordSpec instanceof DigestPasswordSpec) { return encodeDigestPasswordSpec((DigestPasswordSpec) passwordSpec); } else if (passwordSpec instanceof SaltedHashPasswordSpec) { return encodeSaltedHashPasswordSpec((SaltedHashPasswordSpec) passwordSpec); } else if (passwordSpec instanceof IteratedSaltedHashPasswordSpec) { return encodeIteratedSaltedHashSpec((IteratedSaltedHashPasswordSpec) passwordSpec); } else if (passwordSpec instanceof HashPasswordSpec) { return encodeHashPasswordSpec((HashPasswordSpec) passwordSpec); } return null; }
/** * Encode the given {@link Password} to a byte array. * * @param password the password to encode * @param providers providers to use with the underlying {@link PasswordFactory} * @return a byte array representing the encoded password or null if no encoder was capable to encode the given password */ public static byte[] encode(Password password, Supplier<Provider[]> providers) throws NoSuchAlgorithmException, InvalidKeySpecException { PasswordFactory passwordFactory = PasswordFactory.getInstance(password.getAlgorithm(), providers); if (passwordFactory.convertibleToKeySpec(password, ClearPasswordSpec.class)) { return encodeClearPasswordSpec(passwordFactory.getKeySpec(password, ClearPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, DigestPasswordSpec.class)) { return encodeDigestPasswordSpec(passwordFactory.getKeySpec(password, DigestPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, SaltedHashPasswordSpec.class)) { return encodeSaltedHashPasswordSpec(passwordFactory.getKeySpec(password, SaltedHashPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, IteratedSaltedHashPasswordSpec.class)) { return encodeIteratedSaltedHashSpec(passwordFactory.getKeySpec(password, IteratedSaltedHashPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, HashPasswordSpec.class)) { return encodeHashPasswordSpec(passwordFactory.getKeySpec(password, HashPasswordSpec.class)); } return null; }
/** * Encode the given {@link Password} to a byte array. * * @param password the password to encode * @param providers providers to use with the underlying {@link PasswordFactory} * @return a byte array representing the encoded password or null if no encoder was capable to encode the given password */ public static byte[] encode(Password password, Supplier<Provider[]> providers) throws NoSuchAlgorithmException, InvalidKeySpecException { PasswordFactory passwordFactory = PasswordFactory.getInstance(password.getAlgorithm(), providers); if (passwordFactory.convertibleToKeySpec(password, ClearPasswordSpec.class)) { return encodeClearPasswordSpec(passwordFactory.getKeySpec(password, ClearPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, DigestPasswordSpec.class)) { return encodeDigestPasswordSpec(passwordFactory.getKeySpec(password, DigestPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, SaltedHashPasswordSpec.class)) { return encodeSaltedHashPasswordSpec(passwordFactory.getKeySpec(password, SaltedHashPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, IteratedSaltedHashPasswordSpec.class)) { return encodeIteratedSaltedHashSpec(passwordFactory.getKeySpec(password, IteratedSaltedHashPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, HashPasswordSpec.class)) { return encodeHashPasswordSpec(passwordFactory.getKeySpec(password, HashPasswordSpec.class)); } return null; }
/** * Encode the given {@link Password} to a byte array. * * @param password the password to encode * @param providers providers to use with the underlying {@link PasswordFactory} * @return a byte array representing the encoded password or null if no encoder was capable to encode the given password */ public static byte[] encode(Password password, Supplier<Provider[]> providers) throws NoSuchAlgorithmException, InvalidKeySpecException { PasswordFactory passwordFactory = PasswordFactory.getInstance(password.getAlgorithm(), providers); if (passwordFactory.convertibleToKeySpec(password, ClearPasswordSpec.class)) { return encodeClearPasswordSpec(passwordFactory.getKeySpec(password, ClearPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, DigestPasswordSpec.class)) { return encodeDigestPasswordSpec(passwordFactory.getKeySpec(password, DigestPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, SaltedHashPasswordSpec.class)) { return encodeSaltedHashPasswordSpec(passwordFactory.getKeySpec(password, SaltedHashPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, IteratedSaltedHashPasswordSpec.class)) { return encodeIteratedSaltedHashSpec(passwordFactory.getKeySpec(password, IteratedSaltedHashPasswordSpec.class)); } else if (passwordFactory.convertibleToKeySpec(password, HashPasswordSpec.class)) { return encodeHashPasswordSpec(passwordFactory.getKeySpec(password, HashPasswordSpec.class)); } return null; }