@Override public String encodePassword ( final String password ) throws NoSuchAlgorithmException { return this.passwordDigestCodec.encode ( makeDigest ( password ) ); } }
@Override public boolean validatePassword ( final Map<PasswordEncoding, String> passwords, final String storedPassword ) throws Exception { final byte[] storedDigest = this.passwordDigestCodec.decode ( storedPassword ); final String encodedPassword = passwords.get ( this.storedEncoding ); if ( encodedPassword != null ) { final byte[] providedDigest = new HexCodec ().decode ( encodedPassword ); return MessageDigest.isEqual ( providedDigest, storedDigest ); } final String plainPassword = passwords.get ( PasswordEncoding.PLAIN ); if ( plainPassword != null ) { final byte[] providedDigest = makeDigest ( plainPassword ); return MessageDigest.isEqual ( providedDigest, storedDigest ); } return false; }
@Override public boolean validatePassword ( final Map<PasswordEncoding, String> passwords, final String storedPassword ) throws Exception { final byte[] storedDigest = this.passwordDigestCodec.decode ( storedPassword ); final String encodedPassword = passwords.get ( this.storedEncoding ); if ( encodedPassword != null ) { final byte[] providedDigest = new HexCodec ().decode ( encodedPassword ); return MessageDigest.isEqual ( providedDigest, storedDigest ); } final String plainPassword = passwords.get ( PasswordEncoding.PLAIN ); if ( plainPassword != null ) { final byte[] providedDigest = makeDigest ( plainPassword ); return MessageDigest.isEqual ( providedDigest, storedDigest ); } return false; }
@Override public String encodePassword ( final String password ) throws NoSuchAlgorithmException { return this.passwordDigestCodec.encode ( makeDigest ( password ) ); } }