in service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/UserEntityCreator.java [72:96]
public UserEntity build(
final String identifier,
final String role,
final String password,
final boolean passwordMustChange,
final byte[] fixedSalt,
final int passwordExpiresInDays)
{
final UserEntity userEntity = new UserEntity();
userEntity.setIdentifier(identifier);
userEntity.setRole(role);
final byte[] variableSalt = this.saltGenerator.createRandomSalt();
final byte[] fullSalt = EncodingUtils.concatenate(variableSalt, fixedSalt);
userEntity.setPassword(ByteBuffer.wrap(this.hashGenerator.hash(password, fullSalt,
IdentityConstants.ITERATION_COUNT, IdentityConstants.HASH_LENGTH)));
userEntity.setSalt(ByteBuffer.wrap(variableSalt));
userEntity.setIterationCount(IdentityConstants.ITERATION_COUNT);
userEntity.setPasswordExpiresOn(deriveExpiration(passwordMustChange, passwordExpiresInDays));
return userEntity;
}