public BLLResponse <Usuario> IsLoginValido(Usuario item) { BLLResponse <Usuario> response = new BLLResponse <Usuario>(); response.Erros = new List <ErrorField>(); using (LTContext ctx = new LTContext()) { Usuario userDoBanco = ctx.Usuarios.FirstOrDefault(u => u.Email == item.Email); if (userDoBanco == null) { response.Erros.Add(new ErrorField(fieldName: nameof(userDoBanco.Email), message: MensagensPadrao.UserOuSenhaInvalidosMessage())); return(response); } response.Sucesso = Criptografia.Verificar(item.Senha, userDoBanco.Salt, userDoBanco.Hash); if (response.Sucesso) { response.Data = userDoBanco; } } return(response); }
public BLLResponse <Usuario> Registrar(Usuario item, string senhaRepetida) { List <ErrorField> erros = ValidarUsuarioParaRegistro(item, senhaRepetida); BLLResponse <Usuario> response = new BLLResponse <Usuario>(); response.Erros = erros; if (response.HasErros) { response.Sucesso = false; return(response); } Criptografia.EncriptografarEGuardarSalt(item); using (LTContext ctx = new LTContext()) { item.PathFotoPerfil = "/UserImages/DefaultCropped.png"; ctx.Usuarios.Add(item); ctx.SaveChanges(); } response.Sucesso = true; response.Data = item; return(response); }
/// <summary> /// Encriptografa senha de um Usuario, armazenando no objeto o hash e salt /// </summary> /// <param name="item"></param> public static void EncriptografarEGuardarSalt(Usuario item) { byte[] salt; item.Hash = Criptografia.Encriptar(item.Senha, out salt); item.Salt = salt; }