public void Encrypt_NewOriginalString_Encrypted() { var actual = MD5Helper.Encrypt("abc123*"); Assert.AreNotEqual("abc123*", actual); Assert.AreEqual(actual, MD5Helper.Encrypt("abc123*")); // Should generate the same value. }
public override void Start() { DisplayMessage(string.Format("value:{0}", value)); string encodeValue = MD5Helper.Encrypt(value); DisplayMessage(string.Format("Encrypt: {0}", encodeValue)); }
public async Task <IActionResult> Login(LoginModel loginModel) { ResultInfo resultInfo = new ResultInfo(); //Cookies值 var cookies = HttpContext.Request.Cookies["SetCookies"]; var code = MD5Helper.Encrypt($"{loginModel.ValidateCode}{Configuration["JwtToken:secretCredentials"]}"); if (cookies != code) { resultInfo.msg = "验证码错误"; resultInfo.code = 1; return(new JsonResult(resultInfo)); } var result = await SignInManager.PasswordSignInAsync(loginModel.Email, loginModel.Password, true, true); if (result.Succeeded) { // return(Ok(new { msg = "登录成功" })); } else { return(Ok(new { msg = "登录失败" })); } }
public bool IsSame(string[] usedSerivce, string originalMd5, out string newMd5) { var orderedList = usedSerivce.OrderBy(m => { return(m.ToUpper()); }); newMd5 = MD5Helper.Encrypt(string.Concat(orderedList)); return(newMd5 == originalMd5); }
// InfoUser #region InfoUser public static void SendLoginOTP(string otp, string token) { string dID = UnityEngine.SystemInfo.deviceUniqueIdentifier; SLoginOTP data = new SLoginOTP { otp = otp, token = token, deviceID = dID, signature = MD5Helper.Encrypt(string.Format("begin--{0}#{1}--end", otp, dID)) }; WebServiceController.Instance.SendRequest(WebServiceCode.Code.LoginOTP, data, HTTPMethods.Post); }
public static void SendSignInFacebookRequest(string accessToken) { string dID = UnityEngine.SystemInfo.deviceUniqueIdentifier; SSignInFacebookRequest data = new SSignInFacebookRequest { accessToken = accessToken, device = VKCommon.DeviceId(), deviceID = dID, signature = MD5Helper.Encrypt(string.Format("begin--{0}#{1}--end", accessToken, dID)) }; WebServiceController.Instance.SendRequest(WebServiceCode.Code.SignInFacebook, data, HTTPMethods.Post); }
public static void SendSignInRequest(string username, string password) { string dID = UnityEngine.SystemInfo.deviceUniqueIdentifier; SSignInRequest data = new SSignInRequest { username = username, password = password, device = VKCommon.DeviceId(), deviceID = dID, signature = MD5Helper.Encrypt(string.Format("begin--{0}#{1}#{2}--end", username, password, dID)) }; WebServiceController.Instance.SendRequest(WebServiceCode.Code.SignIn, data, HTTPMethods.Post); }
/// <summary> /// 设置 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="prefix"></param> /// <param name="data"></param> /// <returns></returns> public static TokenModel <T> Set <T>(string prefix, T data) where T : TokenData { var sign = string.Format("{0}:{1}", prefix, data.Username); var token = new TokenModel <T>() { UserId = data.Id, Signature = MD5Helper.Encrypt(sign), Expiry = DateTime.UtcNow.Add(Expiry), Data = data }; RedisHelper.Database.HashSet(CacheKey, token.Signature, token); return(token); }
/// <summary> /// 设置 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="data"></param> /// <param name="suffix"></param> /// <returns></returns> public static Token <T> Set <T>(T data, string suffix = "") where T : TokenData { var key = string.Format("{0}-{1}", CacheKey, suffix); var sign = string.Format("{0}-{1}", data.Username, data.Platform); var token = new Token <T>() { Id = data.Id, Signature = MD5Helper.Encrypt(sign), Expiry = DateTime.UtcNow.Add(Expiry), Data = data }; RedisHelper.Database.HashSet(key, token.Signature, token); return(token); }
public IActionResult GenerCode() { Bitmap bitmap = new Bitmap(6 * 15, 24); Graphics graphics = Graphics.FromImage(bitmap); graphics.Clear(Color.White); ValidateCode validateCode = new ValidateCode(); Font font = new Font("微软雅黑", 12, FontStyle.Bold | FontStyle.Italic); Rectangle rectangle = new Rectangle(0, 0, bitmap.Width, bitmap.Height); LinearGradientBrush linearGradientBrush = new LinearGradientBrush(rectangle, Color.Red, Color.Blue, 30); //SolidBrush brush = new SolidBrush(Color.Red); string validatecode = validateCode.GeneralCode(); graphics.DrawString(validatecode, font, linearGradientBrush, rectangle); Random random = new Random(unchecked ((int)DateTime.Now.Ticks)); //画线 for (int i = 0; i < 10; i++) { graphics.DrawLine(new Pen(Color.FromArgb(100, 0, 0, 255)), random.Next(bitmap.Width), random.Next(bitmap.Height), random.Next(bitmap.Width), random.Next(bitmap.Height)); } MemoryStream memoryStream = new MemoryStream(); bitmap.Save(memoryStream, ImageFormat.Jpeg); HttpContext.Response.Cookies.Append("SetCookies", MD5Helper.Encrypt($"{validateCode}{Configuration["JwtToken:secretCredentials"]}"), new CookieOptions { HttpOnly = true }); return(File(memoryStream.ToArray(), "image/jpeg")); }
public static bool Md5CheckIsChange(string fileContent, string remoteContent) { var fileContentBuilder = new StringBuilder(fileContent); fileContentBuilder.Replace("\n", "") .Replace(" ", "") .Replace("\t", "") .Replace("\r", "") .Replace(" ", ""); string newfileContentString = fileContentBuilder.ToString().ToUpperInvariant(); var remoteContentBuilder = new StringBuilder(remoteContent); remoteContentBuilder.Replace("\n", "") .Replace(" ", "") .Replace("\t", "") .Replace("\r", "") .Replace(" ", ""); string newRemoteContentString = remoteContentBuilder.ToString().ToUpperInvariant(); return(MD5Helper.Encrypt(newfileContentString) != MD5Helper.Encrypt(newRemoteContentString)); }
/// <summary> /// 短信发送 /// </summary> /// <param name="phone"></param> /// <param name="message"></param> /// <returns></returns> public string SendMessage(string phone, string smessage) { Random _random = new Random(); string _tradeno = DateTime.Now.ToString("yyyyMMddHHmmssfff") + _random.Next(100, 1000); string _username = ConfigurationManager.AppSettings.Get("username"); string _password = ConfigurationManager.AppSettings.Get("password"); string _key = ConfigurationManager.AppSettings.Get("key"); string _url = ConfigurationManager.AppSettings.Get("PostUrl"); string _content = smessage; string _phone = phone; string json = JsonConvert.SerializeObject(new { userPassword = _password, tradeNo = _tradeno, phones = _phone, etnumber = "", userName = _username, content = _content, }); string _sign = AES.Encrypt(json, _key, _key); _password = MD5Helper.Encrypt(_password); string parm_json = JsonConvert.SerializeObject(new { tradeNo = _tradeno, userName = _username, userPassword = _password, phones = _phone, content = _content, etnumber = "", sign = _sign }); WebAction _web = new WebAction(); string returnStr = HttpHelper.Post(_url, parm_json); return(GetResult(returnStr.Split(',')[1].Split(':')[1].Replace('"', ' ').Trim())); }
public JsonResult Add(UserEditModel model) { if (string.IsNullOrEmpty(model.Username)) { return(Json(new { Code = 300, Msg = "Username is not allowed to be empty.", })); } if (string.IsNullOrEmpty(model.Password)) { return(Json(new { Code = 300, Msg = "Password is not allowed to be empty.", })); } if (string.IsNullOrEmpty(model.Name)) { return(Json(new { Code = 300, Msg = "Name is not allowed to be empty." })); } var mongo = new MongoHelper(); var filter = Builders <BsonDocument> .Filter.Eq("Username", model.Username); var count = mongo.Count(Constant.UserCollectionName, filter); if (count > 0) { return(Json(new { Code = 300, Msg = "The username is already existed.", })); } var now = DateTime.Now; var salt = DateTime.Now.ToString("yyyyMMddHHmmss"); var doc = new BsonDocument { ["ID"] = ObjectId.GenerateNewId(), ["Username"] = model.Username, ["Password"] = MD5Helper.Encrypt(model.Password + salt), ["Name"] = model.Name, ["Gender"] = 0, ["Phone"] = "", ["Email"] = "", ["QQ"] = "", ["CreateTime"] = now, ["UpdateTime"] = now, ["Salt"] = salt, ["Status"] = 0, }; mongo.InsertOne(Constant.UserCollectionName, doc); return(Json(new { Code = 200, Msg = "Saved successfully!" })); }
public void IsEncrypted_EncryptedString_True() { var value = MD5Helper.Encrypt("abc123*"); Assert.IsTrue(MD5Helper.IsEncrypted(value)); }
public JsonResult Register(RegisterModel model) { if (model.Username == null || string.IsNullOrEmpty(model.Username)) { return(Json(new { Code = 300, Msg = "Username is not allowed to be empty.", })); } if (model.Password == null || string.IsNullOrEmpty(model.Password)) { return(Json(new { Code = 300, Msg = "Password is not allowed to be empty.", })); } if (model.ConfirmPassword == null || string.IsNullOrEmpty(model.ConfirmPassword)) { return(Json(new { Code = 300, Msg = "Confirm password is not allowed to be empty.", })); } if (model.Password != model.ConfirmPassword) { return(Json(new { Code = 300, Msg = "Password and confirm password is not the same.", })); } if (model.Name == null || string.IsNullOrEmpty(model.Name)) { return(Json(new { Code = 300, Msg = "Name is not allowed to be empty.", })); } var mongo = new MongoHelper(); var filter = Builders <BsonDocument> .Filter.Eq("Username", model.Username); var count = mongo.Count(Constant.UserCollectionName, filter); if (count > 0) { return(Json(new { Code = 300, Msg = "The username is already existed.", })); } // 获取所有角色 filter = Builders <BsonDocument> .Filter.Eq("Name", "User"); var role = mongo.FindOne(Constant.RoleCollectionName, filter); if (role == null) { return(Json(new { Code = 300, Msg = "The system has not been initialized.", })); } // 添加用户 var now = DateTime.Now; var salt = DateTime.Now.ToString("yyyyMMddHHmmss"); var doc = new BsonDocument { ["ID"] = ObjectId.GenerateNewId(), ["Username"] = model.Username, ["Password"] = MD5Helper.Encrypt(model.Password + salt), ["Name"] = model.Name, ["RoleID"] = role["ID"].ToString(), ["Gender"] = 0, ["Phone"] = "", ["Email"] = "", ["QQ"] = "", ["CreateTime"] = now, ["UpdateTime"] = now, ["Salt"] = salt, ["Status"] = 0, }; mongo.InsertOne(Constant.UserCollectionName, doc); return(Json(new { Code = 200, Msg = "Register successfully!" })); }
public void Encrypt_AlreadyEncryptedString_DoNothing() { var actual = MD5Helper.Encrypt("abc123*"); Assert.AreEqual(actual, MD5Helper.Encrypt(actual)); // Can encrypt again. }
public JsonResult Login(LoginModel model) { if (model.Username == null || string.IsNullOrEmpty(model.Username)) { return(Json(new { Code = 300, Msg = "Username is not allowed to be empty.", })); } if (model.Password == null || string.IsNullOrEmpty(model.Password)) { return(Json(new { Code = 300, Msg = "Password is not allowed to be empty.", })); } // 获取Salt var helper = new MongoHelper(); var filter = Builders <BsonDocument> .Filter.Eq("Username", model.Username); var user = helper.FindOne(Constant.UserCollectionName, filter); if (user == null) { return(Json(new { Code = 300, Msg = "The username or password is wrong.", })); } var salt = user["Salt"].ToString(); // 验证账号密码 var password = MD5Helper.Encrypt(model.Password + salt); var filter1 = Builders <BsonDocument> .Filter.Eq("Password", password); filter = Builders <BsonDocument> .Filter.And(filter, filter1); user = helper.FindOne(Constant.UserCollectionName, filter); if (user == null) { return(Json(new { Code = 300, Msg = "The username or password is wrong.", })); } var id = user["ID"].ToString(); // 将用户信息写入cookie var cookie = FormsAuthentication.GetAuthCookie(model.Username, false); var ticket = FormsAuthentication.Decrypt(cookie.Value); var newTicket = new FormsAuthenticationTicket(ticket.Version, ticket.Name, ticket.IssueDate, ticket.Expiration, ticket.IsPersistent, id); // 将用户ID写入ticket cookie.Value = FormsAuthentication.Encrypt(newTicket); HttpContext.Current.Response.Cookies.Add(cookie); return(Json(new { Code = 200, Msg = "Login successfully!" })); }
public JsonResult ResetPassword(ResetPasswordModel model) { ObjectId userID; if (!ObjectId.TryParse(model.UserID, out userID)) { return(Json(new { Code = 300, Msg = "ID is not allowed." })); } if (model.NewPassword == null || model.NewPassword.Trim() == "") { return(Json(new { Code = 300, Msg = "New password is not allowed to be empty." })); } if (model.ConfirmPassword == null || model.ConfirmPassword.Trim() == "") { return(Json(new { Code = 300, Msg = "Confirm password is not allowed to be empty." })); } if (model.NewPassword != model.ConfirmPassword) { return(Json(new { Code = 300, Msg = "New password and confirm password is not the same." })); } // 判断用户是否存在 var mongo = new MongoHelper(); var filter = Builders <BsonDocument> .Filter.Eq("ID", userID); var doc = mongo.FindOne(Constant.UserCollectionName, filter); if (doc == null) { return(Json(new { Code = 300, Msg = "The user is not existed." })); } // 修改密码 var salt = DateTime.Now.ToString("yyyyMMddHHmmss"); var password = MD5Helper.Encrypt(model.NewPassword + salt); var update1 = Builders <BsonDocument> .Update.Set("Password", password); var update2 = Builders <BsonDocument> .Update.Set("Salt", salt); var update = Builders <BsonDocument> .Update.Combine(update1, update2); mongo.UpdateOne(Constant.UserCollectionName, filter, update); return(Json(new { Code = 200, Msg = "Password reset successfully." })); }
public JsonResult ChangePassword(ChangePasswordModel model) { var user = UserHelper.GetCurrentUser(); if (user == null) { return(Json(new { Code = 300, Msg = "The user is not existed." })); } // 验证密码是否为空 if (model.OldPassword == null || model.OldPassword.Trim() == "") { return(Json(new { Code = 300, Msg = "Old password is not allowed to be empty." })); } if (model.NewPassword == null || model.NewPassword.Trim() == "") { return(Json(new { Code = 300, Msg = "New password is not allowed to be empty." })); } if (model.ConfirmPassword == null || model.ConfirmPassword.Trim() == "") { return(Json(new { Code = 300, Msg = "Confirm password is not allowed to be empty." })); } if (model.NewPassword != model.ConfirmPassword) { return(Json(new { Code = 300, Msg = "New password and confirm password is not the same." })); } // 验证旧密码 var oldPassword = MD5Helper.Encrypt(model.OldPassword + user.Salt); if (oldPassword != user.Password) { return(Json(new { Code = 300, Msg = "Old password is not correct." })); } // 修改密码 var salt = DateTime.Now.ToString("yyyyMMddHHmmss"); var password = MD5Helper.Encrypt(model.NewPassword + salt); var filter = Builders <BsonDocument> .Filter.Eq("ID", ObjectId.Parse(user.ID)); var update1 = Builders <BsonDocument> .Update.Set("Password", password); var update2 = Builders <BsonDocument> .Update.Set("Salt", salt); var update = Builders <BsonDocument> .Update.Combine(update1, update2); var mongo = new MongoHelper(); mongo.UpdateOne(Constant.UserCollectionName, filter, update); return(Json(new { Code = 200, Msg = "Password changed successfully!" })); }
public JsonResult Initialize() { // 判断权限是否开启 var enableAuthority = ConfigurationManager.AppSettings["EnableAuthority"]; if (enableAuthority != "true") { return(Json(new { Code = 300, Msg = "Authority is not enabled.", })); } // 判断是否已经初始化 var mongo = new MongoHelper(); var doc = mongo.FindAll(Constant.ConfigCollectionName).FirstOrDefault(); if (doc != null && doc.Contains("Initialized") && doc["Initialized"].ToBoolean() == true) { return(Json(new { Code = 300, Msg = "System has already initialized." })); } var defaultRegisterRoleID = ObjectId.GenerateNewId(); if (doc == null) { doc = new BsonDocument { ["ID"] = ObjectId.GenerateNewId(), ["Initialized"] = true, ["DefaultRegisterRole"] = defaultRegisterRoleID }; mongo.InsertOne(Constant.ConfigCollectionName, doc); } else { var filter11 = Builders <BsonDocument> .Filter.Eq("_id", doc["_id"].AsObjectId); var update11 = Builders <BsonDocument> .Update.Set("Initialized", true); var update12 = Builders <BsonDocument> .Update.Set("DefaultRegisterRole", defaultRegisterRoleID); var update13 = Builders <BsonDocument> .Update.Combine(update11, update12); mongo.UpdateOne(Constant.ConfigCollectionName, filter11, update13); } // 初始化角色 var now = DateTime.Now; var filter1 = Builders <BsonDocument> .Filter.Eq("Name", "Administrator"); var filter2 = Builders <BsonDocument> .Filter.Eq("Name", "User"); var filter3 = Builders <BsonDocument> .Filter.Eq("Name", "Guest"); var filter = Builders <BsonDocument> .Filter.Or(filter1, filter2, filter3); mongo.DeleteMany(Constant.RoleCollectionName, filter); var adminRoleID = ObjectId.GenerateNewId(); // 管理员RoleID var role1 = new BsonDocument { ["ID"] = adminRoleID, ["Name"] = "Administrator", ["CreateTime"] = now, ["UpdateTime"] = now, ["Description"] = "Administrator", ["Status"] = 0, }; var role2 = new BsonDocument { ["ID"] = defaultRegisterRoleID, ["Name"] = "User", ["CreateTime"] = now, ["UpdateTime"] = now, ["Description"] = "Login User", ["Status"] = 0, }; var role3 = new BsonDocument { ["ID"] = ObjectId.GenerateNewId(), ["Name"] = "Guest", ["CreateTime"] = now, ["UpdateTime"] = now, ["Description"] = "No Login User", ["Status"] = 0, }; mongo.InsertMany(Constant.RoleCollectionName, new[] { role1, role2, role3 }); // 初始化用户 var password = "******"; var salt = DateTime.Now.ToString("yyyyMMddHHmmss"); var user = new BsonDocument { ["ID"] = ObjectId.GenerateNewId(), ["Username"] = "******", ["Password"] = MD5Helper.Encrypt(password + salt), ["Name"] = "Administrator", ["RoleID"] = adminRoleID.ToString(), ["Gender"] = 0, ["Phone"] = "", ["Email"] = "", ["QQ"] = "", ["CreateTime"] = now, ["UpdateTime"] = now, ["Salt"] = salt, ["Status"] = 0, }; mongo.InsertOne(Constant.UserCollectionName, user); return(Json(new { Code = 200, Msg = "Initialize successfully!" })); }
public string Encrypt(string password) { return(MD5Helper.Encrypt("@#SSSS" + password)); }