public async Task <IActionResult> OnPostAsync()
        {
            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            var data = new SensitiveDataDto {
                SensitiveData = Input.SensitiveData
            };

            _service.EncryptAndSave(userId, data);

            return(Page());
        }
        public SensitiveDataDto RetrieveAndDecrypt(string userId)
        {
            var dbSensitiveData = _context.SensitiveData.FirstOrDefault(d => d.UserId == userId);

            var sensitiveData = new SensitiveDataDto();

            if (dbSensitiveData != null)
            {
                sensitiveData.SensitiveData = Decrypt(dbSensitiveData.EncryptedSensitiveData);
            }

            return(sensitiveData);
        }
        public void EncryptAndSave(string userId, SensitiveDataDto sensitiveData)
        {
            var dbSensitiveData = _context.SensitiveData.FirstOrDefault(d => d.UserId == userId);

            if (dbSensitiveData == null)
            {
                _context.Add(new SensitiveData
                {
                    UserId = userId,
                    EncryptedSensitiveData = Encrypt(sensitiveData.SensitiveData)
                });
            }
            else
            {
                dbSensitiveData.EncryptedSensitiveData = Encrypt(sensitiveData.SensitiveData);
            }

            _context.SaveChanges();
        }