コード例 #1
0
        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");
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public GenerateHashGet GenerateHash2([FromQuery] GenerateHashSearch search)
 {
     return(_service.GenerateHash2(search));
 }