/// <summary> /// CryptographyExtension.Cozumle /// </summary> public static string Cozumle(this object value) { if (value == null) { return(""); } return(CryptographyExtension.Cozumle(value.ToString())); }
/// <summary> /// şifre değiştirme işlemleri /// </summary> public Result ChangePass(User p) { if (p.Sifre.ToString2() == "") { _Result.Id = 0; _Result.Message = "Eksik Bilgi Girdiniz"; _Result.Status = false; return(_Result); } _Result = new Result() { Status = false, Message = "İşlem Hata !!!", Id = 0 }; p.Sifre = CryptographyExtension.Sifrele(p.Sifre); try { var tmp = Detail(p.ID); tmp.Sifre = p.Sifre ?? ""; tmp.Degistiren = vUser.UserName; tmp.DegisTarih = DateTime.Today.ToOADateInt(); tmp.DegisSaat = DateTime.Now.ToOaTime(); db.SaveChanges(); LogActions("Business", "Persons", "ChangePass", ComboItems.alDüzenle, p.ID); // result _Result.Id = p.ID; _Result.Message = "İşlem Başarılı !!!"; _Result.Status = true; } catch (Exception ex) { Logger(ex, "Business/Persons/ChangePass"); _Result.Message = "İşlem Hata !!!" + ex.Message; } return(_Result); }
/// <summary> /// 判断签名算法 /// </summary> /// <param name="appId"></param> /// <param name="url"></param> /// <param name="sign">签名</param> /// <returns></returns> public static bool Validate(string appId, string sign) { byte[] bytes = Encoding.UTF8.GetBytes(ConfigManagerExtension.SecretKey); string signs = string.Empty; if (appId != "1000") { signs = CryptographyExtension.Decrypts(appId) + keys; } else { signs = appId + keys; } byte[] val = Encoding.UTF8.GetBytes(string.Concat(signs.OrderBy(c => c)));//排序 string key = null; using (HMACSHA512 SecretKey = new HMACSHA512(bytes)) { var SecretKeyBytes = SecretKey.ComputeHash(val); key = Convert.ToBase64String(SecretKeyBytes); } return(sign.Equals(key, StringComparison.Ordinal)); }
/// <summary> /// giriş işlemleri /// </summary> public Result Login(User p, string device) { _Result = new Result() { Status = false, Message = "Hatalı kombinasyon", Id = 0 }; try { p.Kod = p.Kod.Left(5); var tbl = db.Users.FirstOrDefault(a => a.Kod.Equals(p.Kod) && a.Sirket == "" && a.Tip == 0 && a.Aktif); if (tbl != null)//if user exists { var pass = CryptographyExtension.Cozumle(tbl.Sifre); if (p.Sifre == pass)//if password matches { // update db db.LogLogins(p.Kod, device, true, ""); db.UpdateUserDevice(tbl.ID, device); // return result _Result.Status = true; _Result.Id = tbl.ID; _Result.Message = "İşlem Başarılı"; _Result.Data = tbl; } } } catch (Exception ex) { Logger(ex, "Business/Persons/Login"); _Result.Message = "İşlem Hata !!!" + ex.Message; } return(_Result); }
/// <summary> /// ekle, güncelle /// </summary> public override Result Operation(User tbl) { _Result = new Result(); var eklemi = false; if (tbl.AdSoyad == "" || tbl.Kod == "" || (tbl.ID == 0 && tbl.Sifre.ToString2() == "")) { _Result.Id = 0; _Result.Message = "Eksik Bilgi Girdiniz"; _Result.Status = false; return(_Result); } if (fn.isEmail(tbl.Email) == false) { _Result.Id = 0; _Result.Message = "Geçersiz bir email adresi yazdınız"; _Result.Status = false; return(_Result); } var kontrol = db.Users.FirstOrDefault(m => m.Kod == tbl.Kod && m.ID != tbl.ID); if (kontrol != null) { _Result.Id = 0; _Result.Message = "Bu isim kullanılıyor"; _Result.Status = false; return(_Result); } if (tbl.Sifre.ToString2() != "") { tbl.Sifre = CryptographyExtension.Sifrele(tbl.Sifre); } tbl.Kod = tbl.Kod.Left(5); // set details tbl.Degistiren = vUser.UserName; tbl.DegisTarih = DateTime.Today.ToOADateInt(); tbl.DegisSaat = DateTime.Now.ToOaTime(); tbl.DegisKaynak = 0; tbl.DegisSurum = "1.0.0"; if (tbl.ID == 0) { tbl.Guid = Guid.NewGuid(); tbl.Sirket = ""; tbl.Email = tbl.Email.ToString2(); tbl.Tema = tbl.Tema.ToString2(); tbl.Kaydeden = vUser.UserName; tbl.KayitTarih = DateTime.Today.ToOADateInt(); tbl.KayitSaat = DateTime.Now.ToOaTime(); tbl.KayitKaynak = 0; tbl.KayitSurum = "1.0.0"; db.Users.Add(tbl); eklemi = true; } else { var tmp = Detail(tbl.ID); tmp.Sirket = ""; tmp.Tip = 0; tmp.Kod = tbl.Kod; tmp.AdSoyad = tbl.AdSoyad; tmp.Email = tbl.Email.ToString2(); tmp.Tema = tbl.Tema.ToString2(); tmp.RoleName = tbl.RoleName; tmp.Admin = tbl.Admin; tmp.Aktif = tbl.Aktif; tmp.Degistiren = tbl.Degistiren; tmp.DegisTarih = tbl.DegisTarih; tmp.DegisSaat = tbl.DegisSaat; tmp.DegisKaynak = tbl.DegisKaynak; tmp.DegisSurum = tbl.DegisSurum; } try { db.SaveChanges(); LogActions("Business", "Persons", "Operation", eklemi ? ComboItems.alEkle : ComboItems.alDüzenle, tbl.ID, tbl.AdSoyad + ", " + tbl.Email + ", " + tbl.RoleName + ", " + tbl.Kod); // result _Result.Id = tbl.ID; _Result.Message = "İşlem Başarılı !!!"; _Result.Status = true; } catch (Exception ex) { Logger(ex, "Business/Persons/Operation"); _Result.Id = 0; _Result.Message = "İşlem Hatalı: " + ex.Message; _Result.Status = false; } return(_Result); }
/// <summary> /// şifre göster /// </summary> public string GetPass(int id) { return(CryptographyExtension.Cozumle(Detail(id).Sifre)); }
/// <summary> /// CryptographyExtension.Sifrele /// </summary> public static string Sifrele(this object value) { return(CryptographyExtension.Sifrele(value.ToString())); }