@Test public void understandsCryptHashValues() throws Exception { MatcherAssert.assertThat( new Htpasswd( this.host("alex:QS3Wb6MddltY2") ).authorized("alex", "fire"), Matchers.is(true) ); }
@LogExceptions public boolean authorized(@NotNull final String user, @NotNull final String password) throws IOException { final ConcurrentMap<String, String> users = this.fetch(); return users.containsKey(user) && Htpasswd.matches(users.get(user), password); }
Htpasswd { @LogExceptions public boolean authorized(@NotNull final String user, @NotNull final String password) throws IOException { final ConcurrentMap<String, String> users = this.fetch(); return users.containsKey(user) && Htpasswd.matches(users.get(user), password); } }
Htpasswd { @LogExceptions public boolean authorized(@NotNull final String user, @NotNull final String password) throws IOException { final ConcurrentMap<String, String> users = this.fetch(); return users.containsKey(user) && Htpasswd.matches(users.get(user), password); } Htpasswd(@NotNull final Host hst); }
Htpasswd { @LogExceptions public boolean authorized(@NotNull final String user, @NotNull final String password) throws IOException { final ConcurrentMap<String, String> users = this.fetch(); return users.containsKey(user) && Htpasswd.matches(users.get(user), password); } Htpasswd(@NotNull final Host hst); @Override String toString(); @LogExceptions boolean authorized(@NotNull final String user,
        @NotNull final String password); }
Htpasswd { @LogExceptions public boolean authorized(@NotNull final String user, @NotNull final String password) throws IOException { final ConcurrentMap<String, String> users = this.fetch(); return users.containsKey(user) && Htpasswd.matches(users.get(user), password); } Htpasswd(@NotNull final Host hst); @Override String toString(); @LogExceptions boolean authorized(@NotNull final String user,
        @NotNull final String password);  }