public async Task <IActionResult> GetByUid(string uid) { string hashedUid = MD5Encryption.CalculateMD5Hash(uid); List <string> ut = null; try { ut = await _db.XRefSpecObjects.Where(b => b.HashedUid == hashedUid) .Select(c => c.XRefSpecJson) .ToListAsync(); }catch (System.Exception e) { var t = e.Message; } //var response = new HttpResponseMessage(); //var ms = new MemoryStream(); //var sw = new StreamWriter(ms); //sw.Write("["); //sw.Write(string.Join(",", ut)); //sw.Write("]"); //sw.Flush(); //ms.Position = 0; //response.Content = new StreamContent(ms); //response.StatusCode = HttpStatusCode.OK; //return new ObjectResult(response); return(StatusCode(200, "[" + string.Join(",", ut) + "]")); }
/// <summary> /// 更新帐户密码 /// </summary> /// <param name="accountId">帐户Id</param> /// <param name="password">新密码</param> public static void UpdateAccountPassword(long accountId, string password) { Account account = Account.FindById(accountId); account.Password = MD5Encryption.Encode(password); account.Save(); }
public MAYAVI_USERS_C GetMayaviUserByMailPwd(string EMAIL, string PWD) { bool IsValid = false; MD5Encryption md5 = new MD5Encryption(); PWD = md5.Encryption(PWD); MAYAVI_USERS_C mayavi_users_details = new MAYAVI_USERS_C(); Query = @"SELECT UID,USER_NAME,EMAIL,MOBILENO,ORGANIZATION,PWD,PRIVILEGE FROM MAYAVI_USERS WHERE EMAIL=@EMAIL AND PWD=@PWD"; DataTable DataTable_MAYAVI_USERS = db.ExecuteSelect(Query, new MySqlParameter("@EMAIL", EMAIL), new MySqlParameter("@PWD", PWD)); if (DataTable_MAYAVI_USERS.Rows.Count > 0) { foreach (DataRow item in DataTable_MAYAVI_USERS.Rows) { mayavi_users_details.UID = item["UID"].ToString(); mayavi_users_details.USER_NAME = item["USER_NAME"].ToString(); mayavi_users_details.EMAIL = item["EMAIL"].ToString(); mayavi_users_details.MOBILENO = item["MOBILENO"].ToString(); mayavi_users_details.ORGANIZATION = item["ORGANIZATION"].ToString(); mayavi_users_details.PWD = item["PWD"].ToString(); mayavi_users_details.PRIVILEGE = item["PRIVILEGE"].ToString(); IsValid = true; } } return(mayavi_users_details); }
public ActionResult Login(LoginViewModel model) { if (ModelState.IsValid) { model.Password = MD5Encryption.MD5Sifrele(model.Password); BusinessLayerResult <EvernoteUser> res = eum.LoginUser(model); if (res.Errors.Count > 0) { res.Errors.ForEach(x => ModelState.AddModelError("", x.Message)); return(View(model)); } CurrentSession.Set <EvernoteUser>("login", res.Result); //var response = Request["g-recaptcha-response"]; //const string secret = "6LcjInAUAAAAADx99wOz1kr3QVnSrgYrX61f0eU0"; //var client = new WebClient(); //var reply = // client.DownloadString( // string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secret, response)); //var captchaResponse = JsonConvert.DeserializeObject<CaptchaResponse>(reply); //if (!captchaResponse.Success) // TempData["Message"] = "Lütfen güvenliği doğrulayınız."; //else return(RedirectToAction("Index")); } return(View(model)); }
public int InsertDevices(string UID, string DEVICE_NAME) { int AffectedRow = 0; try { string DEVICE_ID = null; string HOST_NAME = string.Empty; MD5Encryption md5 = new MD5Encryption(); string DEVICE_KYE = md5.Encryption(DateTime.Now.ToString("yyyyMMddHHmmssfff")); string CONNECTION_STATUS = "N"; string TXRX_LIMIT = "0"; string BANDWIDTH = "100"; string USER_NAME = ""; Query = @"INSERT INTO DEVICES(UID,DEVICE_NAME,HOST_NAME,DEVICE_ID,DEVICE_KYE,CONNECTION_STATUS,TXRX_LIMIT,BANDWIDTH,UPTIME,USER_NAME) VALUES(@UID,@DEVICE_NAME,@HOST_NAME,@DEVICE_ID,@DEVICE_KYE,@CONNECTION_STATUS,@TXRX_LIMIT,@BANDWIDTH,NOW(),@USER_NAME)"; AffectedRow = db.ExecuteInsert(Query, new MySqlParameter("@UID", UID), new MySqlParameter("@DEVICE_NAME", DEVICE_NAME), new MySqlParameter("@HOST_NAME", HOST_NAME), new MySqlParameter("@DEVICE_ID", DEVICE_ID), new MySqlParameter("@DEVICE_KYE", DEVICE_KYE), new MySqlParameter("@CONNECTION_STATUS", CONNECTION_STATUS), new MySqlParameter("@TXRX_LIMIT", TXRX_LIMIT), new MySqlParameter("@BANDWIDTH", BANDWIDTH), new MySqlParameter("@USER_NAME", USER_NAME)); } catch { AffectedRow = 0; } return(AffectedRow); }
public string UserSignUp(object user) { JObject jdata = JObject.Parse(user.ToString()); string uemail = jdata.SelectToken("UserEmail").ToString(); //邮箱 string upwd = jdata.SelectToken("UserPwd").ToString(); //密码 string uname = jdata.SelectToken("UserName").ToString(); //昵称 //获取默认账号和用户名 int account = QueryDAL.GetModelTowhereSql <ShiUsers> ("select top 1 * from ShiUsers order by Key_No desc").KeyNo; string uaccname = "shi00" + (account + 1); ShiUsers users = new ShiUsers(); users.UserEmail = uemail; users.UserPwd = upwd; users.UserName = uname; users.Account = uaccname; users.UserSex = 2;//默认为私密 //创建token:根据用户名+时间通过MD5加密后保证唯一性 DateTime gettime = DateTime.Now; users.UserToken = MD5Encryption.Md5_32(uname.ToString() + gettime.ToString()); users.TokenEndtiem = gettime; if (InsertDAL.InsertModel <ShiUsers>(users)) { return(users.UserToken); } return("-1"); }
public int InsertMayavi_Users(string USER_NAME, string EMAIL, string PWD) { int AffectedRow = 0; try { string MOBILENO = ""; string ORGANIZATION = ""; string PRIVILEGE = "F"; MD5Encryption md5 = new MD5Encryption(); PWD = md5.Encryption(PWD); Query = @"INSERT INTO MAYAVI_USERS(USER_NAME,EMAIL,MOBILENO,ORGANIZATION,PWD,PRIVILEGE) VALUES(@USER_NAME,@EMAIL,@MOBILENO,@ORGANIZATION,@PWD,@PRIVILEGE)"; AffectedRow = db.ExecuteInsert(Query, new MySqlParameter("@USER_NAME", USER_NAME), new MySqlParameter("@EMAIL", EMAIL), new MySqlParameter("@MOBILENO", MOBILENO), new MySqlParameter("@ORGANIZATION", ORGANIZATION), new MySqlParameter("@PWD", PWD), new MySqlParameter("@PRIVILEGE", PRIVILEGE)); } catch { AffectedRow = 0; } return(AffectedRow); }
public async Task <LoginOutput> LoginAsync([FromServices] IHttpContextAccessor httpContextAccessor, [Required] LoginInput input) { // 获取加密后的密码 var encryptPassword = MD5Encryption.Encrypt(input.Password.Trim()); // 判断用户名或密码是否正确 var user = await _userRepository.FirstOrDefaultAsync(u => u.Account.Equals(input.Account) && u.Password.Equals(encryptPassword)); _ = user ?? throw Oops.Oh(SystemErrorCodes.u1000); // 更新登录时间 user.SigninedTime = DateTimeOffset.Now; // 映射结果 var output = user.Adapt <LoginOutput>(); // 生成 token var accessToken = output.AccessToken = JWTEncryption.Encrypt(new Dictionary <string, object> { { "UserId", user.Id }, { "Account", user.Account } }); // 生成 刷新token var refreshToken = JWTEncryption.GenerateRefreshToken(accessToken); // 设置 Swagger 自动登录 httpContextAccessor.SigninToSwagger(accessToken); // 设置刷新 token httpContextAccessor.HttpContext.Response.Headers["x-access-token"] = refreshToken; return(output); }
/// <inheritdoc /> public void Register(TypeAdapterConfig config) { // tbStudent.Adapt<StudentDto>(); config.ForType <TbStudent, StudentDto>() .IgnoreNullValues(true) // 忽略空值映射 .Ignore(dest => dest.Password) .Map(desc => desc.Sex, src => src.Sex == "0"?"男":src.Sex == "1"?"女":"保密"); // studentDto.Adapt<TbStudent>(); config.ForType <StudentDto, TbStudent>() .IgnoreNullValues(true) // 忽略空值映射 .IgnoreIf((src, dest) => src.ClassesId <= 0, dest => dest.ClassesId) .IgnoreIf((src, dest) => src.DeptId <= 0, dest => dest.DeptId) .IgnoreIf((src, dest) => src.StuNo == "", dest => dest.StuNo) .IgnoreIf((src, dest) => src.StuName == "", dest => dest.StuName) .IgnoreIf((src, dest) => src.IdCard == "", dest => dest.IdCard) .IgnoreIf((src, dest) => src.Telphone == "", dest => dest.Telphone) .IgnoreIf((src, dest) => src.Sex == "", dest => dest.Sex) .IgnoreIf((src, dest) => src.Password == "", dest => dest.Password) .Map(desc => desc.Sex, src => src.Sex == "男" ? "0" : src.Sex == "女" ? "1" : src.Sex == "保密" ? "2" : (src.Sex == "保密" || src.Sex == "男" || src.Sex == "女") ? "2" : src.Sex) .Map(desc => desc.Password, src => MD5Encryption.Encrypt(src.Password)); }
/// <summary> /// 测试 RunCompileFromCached 方法(弱类型模型) /// </summary> /// <param name="name"></param> /// <returns></returns> public async Task <string> TestRunCompileFromCached(string name) { var runCompileTemplate = "Hello @Model.Name"; var model = new { Name = name }; var str1 = _viewEngine.RunCompileFromCached(runCompileTemplate, model); var str2 = runCompileTemplate.RunCompileFromCached(model); var str3 = await _viewEngine.RunCompileFromCachedAsync(runCompileTemplate, model); var str4 = await runCompileTemplate.RunCompileFromCachedAsync(model); var isEqual = (str1 == str2) && (str3 == str4) && (str1 == str4); if (!isEqual) { throw new Exception("多次编译之后模板内容相等"); } if (!File.Exists(Path.Combine(AppContext.BaseDirectory, "templates", $"~{MD5Encryption.Encrypt(runCompileTemplate)}.dll"))) { throw new Exception("没找到模板缓存 .dll"); } return(str1); }
/// <summary> /// 测试 RunCompileFromCached 方法(强类型模型) /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <string> TestRunCompileStronglyFromCached(TestStronglyModel model) { var runCompileTemplate = @"Hello @Model.Name @foreach(var item in Model.Items) { <p>@item</p> }"; var str1 = _viewEngine.RunCompileFromCached(runCompileTemplate, model); var str2 = runCompileTemplate.RunCompileFromCached(model); var str3 = await _viewEngine.RunCompileFromCachedAsync(runCompileTemplate, model); var str4 = await runCompileTemplate.RunCompileFromCachedAsync(model); var isEqual = (str1 == str2) && (str3 == str4) && (str1 == str4); if (!isEqual) { throw new Exception("多次编译之后模板内容相等"); } if (!File.Exists(Path.Combine(AppContext.BaseDirectory, "templates", $"~{MD5Encryption.Encrypt(runCompileTemplate)}.dll"))) { throw new Exception("没找到模板缓存 .dll"); } return(str1); }
/// <summary> /// 通过缓存解析模板 /// </summary> /// <param name="content"></param> /// <param name="model"></param> /// <param name="cacheFileName"></param> /// <param name="builderAction"></param> /// <returns></returns> public async Task <string> RunCompileFromCachedAsync <T>(string content, T model, string cacheFileName = default, Action <IViewEngineOptionsBuilder> builderAction = null) where T : class, new() { var fileName = cacheFileName ?? MD5Encryption.Encrypt(content); IViewEngineTemplate <ViewEngineModel <T> > template; if (File.Exists(Penetrates.GetTemplateFileName(fileName))) { template = await ViewEngineTemplate <ViewEngineModel <T> > .LoadFromFileAsync(fileName); } else { template = await CompileAsync <ViewEngineModel <T> >(content, builderAction); await template.SaveToFileAsync(fileName); } var result = await template.RunAsync(u => { u.Model = model; }); return(result); }
public ActionResult EditProfile(EvernoteUser model, HttpPostedFileBase ProfileImage, string txtNewPass) { ModelState.Remove("ModifiedUsername"); // bunun ile alakalı bir validation kontrolu yapılmasını istemiyorsan if (ModelState.IsValid) { if (ProfileImage != null && (ProfileImage.ContentType == "image/jpeg" || ProfileImage.ContentType == "image/jpg" || ProfileImage.ContentType == "image/png")) { string filename = $"user_{model.Id}.{ProfileImage.ContentType.Split('/')[1]}"; ProfileImage.SaveAs(Server.MapPath($"~/Images/{filename}")); model.ProfileImageFileName = filename; } model.Password = MD5Encryption.MD5Sifrele(txtNewPass.ToString()); BusinessLayerResult <EvernoteUser> res = eum.UpdateProfile(model); if (res.Errors.Count > 0) { ErrorViewModel errorNotify = new ErrorViewModel() { Title = "Profile Güncellenemedi.", Items = res.Errors, RedirectingUrl = "/Home/EditProfile" }; return(View("Error", errorNotify)); } CurrentSession.Set <EvernoteUser>("login", res.Result);// Profil güncellendiği için session güncellendi.. return(RedirectToAction("ShowProfile")); } return(View(model)); }
public TRequest Post <TResponse, TRequest>(string Url, TResponse Response) { string json = Response.ToJson(); string md5 = MD5Encryption.Encrypt(json); string str = CreatePostHttpResponse(BaseUrl + Url, json + md5); return(str.ToObj <TRequest>()); }
public async Task <IActionResult> GetByUid(string uid) { string hashedUid = MD5Encryption.CalculateMD5Hash(uid); var results = await(from o in _db.XRefSpecObjects where o.HashedUid == hashedUid orderby o.Uid select o.XRefSpecJson).ToListAsync(); return(Json(results)); }
public void Register(TypeAdapterConfig config) { config.ForType <TbAdmin, AdminDto>() .IgnoreNullValues(true) // 忽略空值映射 .Ignore(dest => dest.Password); config.ForType <AdminDto, TbAdmin>() .IgnoreNullValues(true) // 忽略空值映射 .IgnoreIf((src, dest) => src.Password == "", dest => dest.Password) .Map(desc => desc.Password, src => MD5Encryption.Encrypt(src.Password)); }
private void btnEncrypt_Click(object sender, EventArgs e) { if (cbHMACMode.Checked) { tbToText.Text = HMACMD5Encryption.Encrypt(tbFromText.Text, tbHMAPassword.Text); } else { tbToText.Text = MD5Encryption.Encrypt(tbFromText.Text); } }
/// <summary> /// 校验密码 /// </summary> /// <param name="accountId">用户Id</param> /// <param name="password">原密码</param> /// <returns>校验成功返回True,否则返回False</returns> public static bool VerifyPassword(long accountId, string password) { Account validAccount = Account.FindById(accountId); if (validAccount != null && MD5Encryption.VerifyMd5Hash(password, validAccount.Password)) { return(true); } else { return(false); } }
public IActionResult Create([FromBody] XRefSpec spec) { if (spec == null) { return(BadRequest()); } _db.XRefSpecObjects.Add(new XRefSpecObject { HashedUid = MD5Encryption.CalculateMD5Hash(spec.Uid), Uid = spec.Uid, XRefSpecJson = JsonUtility.Serialize(spec) }); _db.SaveChanges(); return(Ok()); }
public void CreateUser(string name, string password) { using (IUserService userSvc = new UserService()) { userSvc.CreateAsync(new User() { Name = name, Password = MD5Encryption.Md5(password), RealName = "超级管理员", Sex = Gender.Woman, Phone = "17629780070" }); } }
/// <summary> /// 测试 MD5 加密 /// </summary> /// <returns></returns> public string TestMD5Encrypt(string text, bool uppercase) { var data1 = MD5Encryption.Encrypt(text, uppercase); var data2 = text.ToMD5Encrypt(uppercase); var isEqual = data1 == data2; if (!isEqual) { throw new Exception("静态加密和字符串拓展加密不相等"); } return(data1); }
/// <summary> /// 学生登录 /// </summary> /// <param name="studentNo"></param> /// <param name="password"></param> /// <returns></returns> public async Task <StudentDto> LoginStudent(string studentNo, string password) { var student = await _studentRepository .FirstOrDefaultAsync(s => s.StuNo.Equals(studentNo)); if (student == null) { throw Oops.Oh(StudentErrorCodes.s1204); } if (!MD5Encryption.Compare(password, student.Password)) { throw Oops.Oh(StudentErrorCodes.s1201); } return(student.Adapt <StudentDto>()); }
private int SaveData(TextReader reader) { XRefMap xrefMap = YamlUtility.Deserialize <XRefMap>(reader); foreach (var spec in xrefMap.References) { XRefSpecObject xrefSpec = new XRefSpecObject(); xrefSpec.Uid = spec["uid"]; xrefSpec.HashedUid = MD5Encryption.CalculateMD5Hash(xrefSpec.Uid); xrefSpec.XRefSpecJson = JsonUtility.Serialize(spec); _db.XRefSpecObjects.Add(xrefSpec); } _db.SaveChanges(); return(0); }
/// <summary> /// 验证登录 /// </summary> /// <param name="loginId">登录Id</param> /// <param name="password">密码</param> /// <returns>验证成功返回用户实例,否则返回Null</returns> public static Account VerifyLogin(string user, string password) { Account validAccount = Account.FindOne(x => x.LoginId == user); if (validAccount != null && validAccount.IsEnabled == true && MD5Encryption.VerifyMd5Hash(password, validAccount.Password)) { return(validAccount); } else { return(null); } }
/// <summary> /// 教师登录 /// </summary> /// <param name="teacherNo"></param> /// <param name="password"></param> /// <returns></returns> /// <exception cref="Exception"></exception> public async Task <TeacherDto> LoginTeacher(string teacherNo, string password) { var teacher = await _teacherRepository .FirstOrDefaultAsync(u => u.TeacherNo.Equals(teacherNo)); if (teacher == null) { throw Oops.Oh(TeacherErrorCodes.t1402); } if (!MD5Encryption.Compare(password, teacher.Password)) { throw Oops.Oh(TeacherErrorCodes.t1403); } return(teacher.Adapt <TeacherDto>()); }
/// <summary> /// 管理员登录 /// </summary> /// <param name="adminDto"></param> /// <returns></returns> /// <exception cref="Exception"></exception> public async Task <AdminDto> LoginAdmin(AdminDto adminDto) { var admin = await _adminRepository .Where( u => u.Username.Equals(adminDto.Username)) .FirstOrDefaultAsync(); if (admin == null) { throw Oops.Oh(AdminErrorCodes.a1002); } if (!MD5Encryption.Compare(adminDto.Password, admin.Password)) { throw Oops.Oh(AdminErrorCodes.a1001); } return(admin.Adapt <AdminDto>()); }
public async Task <UserProfile> AddAsync([Required] AddUserInput input) { // 判断账号是否存在 var isExist = await _userRepository.AnyAsync(u => u.Account.ToLower() == input.Account.Trim().ToLower()); if (isExist) { throw Oops.Oh(SystemErrorCodes.u1003); } var addUser = input.Adapt <User>(); addUser.Password = MD5Encryption.Encrypt(input.Password.Trim()); var entryEntity = await _userRepository.InsertNowAsync(addUser); return(entryEntity.Entity.Adapt <UserProfile>()); }
/// <summary> /// 找回密码 /// </summary> /// <param name="stuNo"></param> /// <param name="idCard"></param> /// <param name="newPass"></param> /// <returns></returns> /// <exception cref="Exception"></exception> public async Task <StudentDto> ForgetPass(string stuNo, string idCard, string newPass) { var stu = await _studentRepository.Where(x => x.StuNo == stuNo).FirstOrDefaultAsync(); if (stu == null) { throw Oops.Oh(StudentErrorCodes.s1204); } // 判断身份证后6位是否正确 if (idCard != stu.IdCard.Substring(stu.IdCard.Length - 6, 6)) { throw Oops.Oh(StudentErrorCodes.s1206); } // 修改密码 stu.Password = MD5Encryption.Encrypt(newPass); var newStu = await _studentRepository.UpdateAsync(stu); return(newStu.Entity.Adapt <StudentDto>()); }
public User GetUserByCode(string code, string password) { bool b = DbHelper.ExecuteTable("select 1 from STATION where TYPE=3 and STATIONBH= {{code}}", new zParameter("code", code)).Rows.Count > 0; if (!b) { throw new Exception($"终端{code}不存在或类型不匹配"); } if (password != MD5Encryption.Encrypt($"z.DGS.LoginSalt{code}")) { throw new Exception($"终端{code}的密钥不正确"); } return(new User() { Code = code, Id = code, Name = code }); }
public ActionResult PasswordForget(MailModel2 model) { string sifre = RastgeleUret(); string sifreMD5 = MD5Encryption.MD5Sifrele(sifre); BusinessLayerResult <EvernoteUser> res = eum.GetUserByEmail(model); //var response = Request["g-recaptcha-response"]; //const string secret = "6LcjInAUAAAAADx99wOz1kr3QVnSrgYrX61f0eU0"; //var client = new WebClient(); //var reply = // client.DownloadString( // string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secret, response)); //var captchaResponse = JsonConvert.DeserializeObject<CaptchaResponse>(reply); //if (!captchaResponse.Success) // TempData["Message"] = "Lütfen güvenliği doğrulayınız."; //else //{ if (res.Errors.Count > 0) { res.Errors.ForEach(x => ModelState.AddModelError("", x.Message)); return(View(model)); } StringBuilder body = new StringBuilder(); body.AppendLine("Merhaba, " + res.Result.Username); body.AppendLine("\nYeni Şifreniz : " + sifre); MailHelper.SendMail(body.ToString(), model.Mail, "Makalemre.com Sitesi Yeni Şifre"); ViewBag.Success = true; res.Result.Password = sifreMD5; BusinessLayerResult <EvernoteUser> res2 = eum.Update(res.Result); //} return(View()); }