async Task Login() { IsBusy = true; APIService.Username = UserName; APIService.Password = Password; if (UserName.Length.Equals(0) || Password.Length.Equals(0)) { await Application.Current.MainPage.DisplayAlert("Greška", "Popunite sva polja", "OK"); return; } try { await _service.Get <List <dynamic> >(null); KlijentSearchRequest klijentSearch = new KlijentSearchRequest(); klijentSearch.Username = APIService.Username; klijentSearch.Status = true; var korisnici = await _service.Get <List <Model.Models.Klijent> >(klijentSearch); if (korisnici.Count > 0) { var k = korisnici.FirstOrDefault(); GenerateHashSearch search = new GenerateHashSearch(); search.LozinkaSalt = k.LozinkaSalt; search.LozinkaHash = APIService.Password; var pwHas = await _serviceGenerateHashHelper.GenerateHash2 <Model.Models.GenerateHashGet>(search); //string pwHash = GenerateHash(k.LozinkaSalt, APIService.Password); if (k.Username == klijentSearch.Username && k.LozinkaHash == pwHas.Hash) { _KlijentId = k.KlijentId; Application.Current.MainPage = new MainPage(_KlijentId); } else { throw new Exception("Unos nije ispravan"); } } else { throw new Exception("User ne postoji"); } } catch (Exception ex) { string msg = ""; if (ex.InnerException != null) { msg = ex.InnerException.ToString() + " - "; } await Application.Current.MainPage.DisplayAlert("Greška", msg + ex.Message, "OK"); } }
public GenerateHashGet GenerateHash2(GenerateHashSearch request) { byte[] src = Convert.FromBase64String(request.LozinkaSalt); byte[] bytes = Encoding.Unicode.GetBytes(request.LozinkaHash); byte[] dst = new byte[src.Length + bytes.Length]; System.Buffer.BlockCopy(src, 0, dst, 0, src.Length); System.Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length); HashAlgorithm algorithm = HashAlgorithm.Create("SHA1"); byte[] inArray = algorithm.ComputeHash(dst); var s = Convert.ToBase64String(inArray); GenerateHashGet result = new GenerateHashGet(); result.Hash = s; return(result); }
public GenerateHashGet GenerateHash2([FromQuery] GenerateHashSearch search) { return(_service.GenerateHash2(search)); }