package fr.umlv.console0;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

class Utils {
  static boolean checkPassword(String shaDigest, String password) {
    return shaDigest.equals(toSHA256(password));
  }
  
  private static String toSHA256(String passwd) {
    MessageDigest md;
    try {
      md = MessageDigest.getInstance("SHA-256");
    }
    catch(NoSuchAlgorithmException e) {
      throw new AssertionError(e);
    }
    md.update(new byte[] { 5, 3, 3, 'd'});
    byte[] data = md.digest(passwd.getBytes(StandardCharsets.UTF_8));
    return IntStream.range(0, data.length)
        .mapToObj(i -> String.format("%02x", data[i]))
        .collect(Collectors.joining());
  }
  
  /*
  public static void main(String[] args) throws java.io.IOException {
    java.nio.file.Files.write(java.nio.file.Paths.get("passwords.txt"),
        java.util.stream.Stream.of("user", "admin").map(user -> user + " " + toSHA256(user)).collect(java.util.stream.Collectors.toList()));
  }*/
}
