Write now I just added a hardcoded value of AlgorthimNames.Scrypt in Program.cs, which is probably where the confusion is. After the config parsing is done, you would replace that with the string from the config file. Then Ninject will return the appropriate instance.