示例#1
0
        public void PostUser([FromBody] DataForSignUp data)
        {
            data.User.Role = "user";

            data.Password = BCrypt.Net.BCrypt.HashPassword(data.Password);

            KeyAndVectorModel kav = keyAndVectorRep.GetKeyAndVector();

            if (kav.key == null & kav.iv == null)
            {
                Aes myAes = Aes.Create();
                kav.key = myAes.Key;
                kav.iv  = myAes.IV;
                keyAndVectorRep.SetKeyAndVector(kav);
            }

            UsersModel toDb = new UsersModel();

            toDb.Role       = data.User.Role;
            toDb.UserName   = data.User.UserName;
            toDb.Email      = data.User.Email;
            toDb.FirstName  = AesEncrDecr.EncryptStringToBytes_Aes(data.User.FirstName, kav.key, kav.iv);
            toDb.SecondName = AesEncrDecr.EncryptStringToBytes_Aes(data.User.SecondName, kav.key, kav.iv);
            toDb.BirthDate  = AesEncrDecr.EncryptStringToBytes_Aes(data.User.BirthDate, kav.key, kav.iv);


            usersRep.AddUser(toDb, data.Password);

            _logger.LogInformation("User with name " + data.User.UserName + " Signed up");
        }
示例#2
0
        public UserClientModel GetUserData()
        {
            int id = Convert.ToInt32(Request.Cookies["userId"]);

            _logger.LogInformation("Got user id : " + id.ToString());

            UsersModel fromDb = usersRep.GetUser(id);

            KeyAndVectorModel kav = keyAndVectorRep.GetKeyAndVector();

            UserClientModel toClient = new UserClientModel();

            toClient.Email      = fromDb.Email;
            toClient.Role       = fromDb.Role;
            toClient.UserName   = fromDb.UserName;
            toClient.FirstName  = AesEncrDecr.DecryptStringFromBytes_Aes(fromDb.FirstName, kav.key, kav.iv);
            toClient.SecondName = AesEncrDecr.DecryptStringFromBytes_Aes(fromDb.SecondName, kav.key, kav.iv);
            toClient.BirthDate  = AesEncrDecr.DecryptStringFromBytes_Aes(fromDb.BirthDate, kav.key, kav.iv);

            return(toClient);
        }