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(); }