@@ -0,0 +1,1573 @@
+package com.github.aureliano.edocs.secure.model;%0A%0Apublic final class PasswordEncryptionModel %7B%0A%0A%09private static final Integer DEFAULT_HASH_ITERATIONS = 25;%0A%09private static final Algorithm DEFAULT_ALGORITHM = Algorithm.SHA;%0A%09%0A%09private String password;%0A%09private String salt;%0A%09private Integer hashIterations;%0A%09private Algorithm algorithm;%0A%09%0A%09public PasswordEncryptionModel() %7B%7D%0A%09%0A%09public PasswordEncryptionModel(String password, String salt) %7B%0A%09%09this(password, salt, DEFAULT_HASH_ITERATIONS);%0A%09%7D%0A%09%0A%09public PasswordEncryptionModel(String password, String salt, Integer hashIterations) %7B%0A%09%09this(password, salt, DEFAULT_HASH_ITERATIONS, DEFAULT_ALGORITHM);%0A%09%7D%0A%09%0A%09public PasswordEncryptionModel(String password, String salt, Integer hashIterations, Algorithm algorithm) %7B%0A%09%09this.password = password;%0A%09%09this.salt = salt;%0A%09%09this.hashIterations = hashIterations;%0A%09%09this.algorithm = algorithm;%0A%09%7D%0A%0A%09public String getPassword() %7B%0A%09%09return password;%0A%09%7D%0A%0A%09public PasswordEncryptionModel withPassword(String password) %7B%0A%09%09this.password = password;%0A%09%09return this;%0A%09%7D%0A%0A%09public String getSalt() %7B%0A%09%09return salt;%0A%09%7D%0A%0A%09public PasswordEncryptionModel withSalt(String salt) %7B%0A%09%09this.salt = salt;%0A%09%09return this;%0A%09%7D%0A%0A%09public Integer getHashIterations() %7B%0A%09%09return hashIterations;%0A%09%7D%0A%0A%09public PasswordEncryptionModel withHashIterations(Integer hashIterations) %7B%0A%09%09this.hashIterations = hashIterations;%0A%09%09return this;%0A%09%7D%0A%0A%09public Algorithm getAlgorithm() %7B%0A%09%09return algorithm;%0A%09%7D%0A%0A%09public PasswordEncryptionModel withAlgorithm(Algorithm algorithm) %7B%0A%09%09this.algorithm = algorithm;%0A%09%09return this;%0A%09%7D%0A%7D

Create password encryption model.