private string GetUpdateSql(CardModel card, string number) { var builder = new StringBuilder(); builder.Append($"UPDATE {SqliteConst.TableName} SET "); builder.Append($"{SqliteConst.ColumnMd5}='{Md5Utils.GetMd5(card.JName + card.Cost + card.Power)}',"); builder.Append($"{SqliteConst.ColumnType}='{card.Type}',"); builder.Append($"{SqliteConst.ColumnCamp}= '{card.Camp}',"); builder.Append($"{SqliteConst.ColumnRace}= '{card.Race}',"); builder.Append($"{SqliteConst.ColumnSign}= '{card.Sign}',"); builder.Append($"{SqliteConst.ColumnRare}= '{card.Rare}',"); builder.Append($"{SqliteConst.ColumnPack}= '{card.Pack}',"); builder.Append($"{SqliteConst.ColumnCName}= '{card.CName}',"); builder.Append($"{SqliteConst.ColumnJName}= '{card.JName}',"); builder.Append($"{SqliteConst.ColumnIllust}= '{card.Illust}',"); builder.Append($"{SqliteConst.ColumnNumber}= '{card.Number}',"); builder.Append($"{SqliteConst.ColumnCost}= '{card.Cost}',"); builder.Append($"{SqliteConst.ColumnPower}= '{card.Power}',"); builder.Append($"{SqliteConst.ColumnAbility}= '{card.Ability}',"); builder.Append($"{SqliteConst.ColumnLines}= '{card.Lines}',"); builder.Append($"{SqliteConst.ColumnImage}= '{card.ImageJson}'"); // 详细能力处理 builder.Append($" WHERE {SqliteConst.ColumnNumber}='{number}'"); return(builder.ToString()); }
protected override IEnumerable <HashedTableJournalEntry> GetDeploymentHashScripts() { var scripts = _provider.GetRepeatableScripts() .Select(s => new HashedTableJournalEntry(s.Name, Md5Utils.Md5EncodeString(s.Contents))); return(scripts); }
//TestFile directory is used to Test socket //See Socket_APM-SAEA\TestFile static void Main(string[] args) { var mainFolder = AppDomain.CurrentDomain.BaseDirectory.Replace("bin", "TestFile"); ClientBasicInfo basicInfo = new ClientBasicInfo() { ProductName = "Airforce094", RevitVersion = "Revit2016", CurrentProductVersion = "18.1.6" }; var serverFilePath = Path.Combine(mainFolder, "Server\\Airforce094_Revit2016_18.1.6_18.1.7.zip"); DownloadFileInfo dlInfo = new DownloadFileInfo() { LatestProductVersion = "18.1.7", DownloadFileMd5 = Md5Utils.GetFileMd5(serverFilePath), DownloadFileTotalSize = new FileInfo(serverFilePath).Length }; ClientLinkInfo clInfo = new ClientLinkInfo() { IpString = "127.0.0.1", Port = 8885 }; var localSavePath = Path.Combine(mainFolder, "Local"); var tempFilesDir = Path.Combine(mainFolder, "TempFile"); var cs = new ClientSocket(); var result = cs.StartClient(basicInfo, dlInfo, clInfo, localSavePath, tempFilesDir); Console.WriteLine(result); Console.ReadKey(); }
/// <summary> /// 发送短信 /// </summary> /// <param name="sms"></param> /// <returns></returns> public async Task<ResponseData<SendSmsResult>> SendSmsAsync(SendCloudSms sms) { if (sms == null) throw new ArgumentNullException(nameof(sms)); if (string.IsNullOrWhiteSpace(this.Configuration.SmsUser)) throw new ArgumentNullException(nameof(this.Configuration.SmsUser)); if (string.IsNullOrWhiteSpace(this.Configuration.SmsKey)) throw new ArgumentNullException(nameof(this.Configuration.SmsKey)); Contract.EndContractBlock(); sms.Validate(); var timestampResponse = await this.GetServerTimeStampAsync(); var timestamp = timestampResponse.Info.TimeStamp; var credential = new Credential(this.Configuration.SmsUser, this.Configuration.SmsKey); var treeMap = new SortedDictionary<string, string>(); treeMap.Add("smsUser", credential.ApiUser); treeMap.Add("msgType", sms.MsgType.ToString()); treeMap.Add("phone", sms.GetPhoneString()); treeMap.Add("templateId", sms.TemplateId.ToString()); treeMap.Add("timestamp", timestamp.ToString()); if (sms.Vars?.Count > 0) { treeMap.Add("vars", sms.GetVarsString()); } var signature = Md5Utils.MD5Signature(treeMap, credential.ApiKey); treeMap.Add("signature", signature); using (var client = new HttpClient()) { var response = await client.PostAsync(this.Configuration.SendSmsApi, new FormUrlEncodedContent(treeMap)); return await this.ValidateAsync<SendSmsResult>(response); } }
public HttpResponseMessage GetInfo(ClientBasicInfo clientBasicInfo) { var productName = clientBasicInfo.ProductName; var revitVersion = clientBasicInfo.RevitVersion; var currentProductVersion = clientBasicInfo.CurrentProductVersion; //ProductName_RevitVersion_OldProductVersion_NewProductVersion var latestFilePath = ServerFileUtils.GetLatestFilePath(productName, revitVersion, currentProductVersion); if (string.IsNullOrEmpty(latestFilePath) || !File.Exists(latestFilePath)) { return(null); } var latestFile = new FileInfo(latestFilePath); var downloadInfo = new DownloadFileInfo() { LatestProductVersion = ServerFileUtils.GetLatestVersion(Path.GetFileNameWithoutExtension(latestFilePath)), DownloadFileMd5 = Md5Utils.GetFileMd5(latestFilePath), DownloadFileTotalSize = latestFile.Length }; HttpResponseMessage response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(downloadInfo), Encoding.GetEncoding("UTF-8"), "application/json") }; return(response); }
protected IDbCommand GetInsertScriptCommand(Func <IDbCommand> dbCommandFactory, SqlScript script) { var command = dbCommandFactory(); var scriptNameParam = command.CreateParameter(); scriptNameParam.ParameterName = "scriptName"; scriptNameParam.Value = script.Name; command.Parameters.Add(scriptNameParam); var appliedParam = command.CreateParameter(); appliedParam.ParameterName = "applied"; appliedParam.Value = DateTime.Now; command.Parameters.Add(appliedParam); var hashParam = command.CreateParameter(); hashParam.ParameterName = "scriptHash"; hashParam.Value = Md5Utils.Md5EncodeString(script.Contents); command.Parameters.Add(hashParam); command.CommandText = GetInsertJournalEntrySql("@scriptName", "@applied", "@scriptHash"); command.CommandType = CommandType.Text; return(command); }
/// <summary> /// 发送语音 /// </summary> /// <param name="voice"></param> /// <returns></returns> public async Task<ResponseData<dynamic>> SendVoiceAsync(SendCloudVoice voice) { if (voice == null) throw new ArgumentNullException(nameof(voice)); if (string.IsNullOrWhiteSpace(this.Configuration.SmsUser)) throw new ArgumentNullException(nameof(this.Configuration.SmsUser)); if (string.IsNullOrWhiteSpace(this.Configuration.SmsKey)) throw new ArgumentNullException(nameof(this.Configuration.SmsKey)); Contract.EndContractBlock(); voice.Validate(); var timestampResponse = await this.GetServerTimeStampAsync(); var timestamp = timestampResponse.Info.TimeStamp; var credential = new Credential(this.Configuration.SmsUser, this.Configuration.SmsKey); var treeMap = new SortedDictionary<string, string>(); treeMap.Add("smsUser", credential.ApiUser); treeMap.Add("phone", voice.Phone); treeMap.Add("code", voice.Code); treeMap.Add("timestamp", timestamp.ToString()); var signature = Md5Utils.MD5Signature(treeMap, credential.ApiKey); treeMap.Add("signature", signature); using (var client = new HttpClient()) { var response = await client.PostAsync(this.Configuration.SendVoiceApi, new FormUrlEncodedContent(treeMap)); return await this.ValidateAsync(response); } }
/// <summary> /// 获取一个链接下的图标模型集合 /// </summary> /// <param name="url"></param> /// <param name="cgKey"></param> /// <returns></returns> private static List <CardModel> GetCardPreviewModels(string url, int cgKey) { var race = CardUtils.GetRace(cgKey); var rarity = CardUtils.GetRarity(cgKey); var web = new HtmlWeb { OverrideEncoding = Encoding.GetEncoding("EUC-JP") }; var frame = web.Load(url); var nodes = frame.DocumentNode.SelectNodes(@"//table") .First(x => x.Attributes["id"].Value.Equals("content_block_1")); var childNodes = nodes.SelectNodes(@"//a") .Where(x => (null != x.Attributes["href"]) && (3 == x.ChildNodes.Count)) .ToList(); return((from childNode in childNodes let hrefUrl = childNode.Attributes["href"].Value let imageUrl = childNode.ChildNodes[0].Attributes["src"].Value let name = childNode.ChildNodes[2].InnerText select new CardModel { Md5 = Md5Utils.GetMd5(name), Name = name, IconUrl = imageUrl, IconStats = 0, HrefUrl = hrefUrl, ImagesUrl = string.Empty, ImagesStats = 0, Race = race, Rarity = rarity }) .ToList()); }
public static void Main(string[] args) { var goodFileBinary = BinaryFileReader.Read(args[0]); var evilFileBinary = BinaryFileReader.Read(args[1]); BinaryFileWriter.Write("good.bin", CollidedVectorsGenerator.BaseVector, goodFileBinary, evilFileBinary); BinaryFileWriter.Write("evil.bin", CollidedVectorsGenerator.CollidedVector, goodFileBinary, evilFileBinary); Md5Utils.Show("good.bin"); Md5Utils.Show("evil.bin"); }
/// <summary> /// Download dataset from its URL and verifies the MD5 hash. If the file is corrupted it is deleted /// and an exception is raised. /// </summary> /// <param name="destination"></param> public void DownloadDataset(string destination) { using (var webClient = new WebClient()) { webClient.DownloadFile(Url, destination); } if (!Md5Utils.HasFileCorrectHash(destination, Md5CheckSum)) { File.Delete(destination); throw new Exception("Md5 hash did not match. Source Corrupted?"); } }
public bool ModifyUserPwd(int userId, ChangePasswordViewModel viewModel) { string salt = VerifyCodeUtils.CreateVerifyCode(5); string passwordHash = Md5Utils.EncryptTo32(salt + viewModel.Password); var user = dao.GetList(x => x.Id == userId).FirstOrDefault(); user.PasswordSalt = salt; user.PasswordHash = passwordHash; user.UpdateUserId = userId; user.UpdateTime = DateTime.Now; return(dao.SaveChanges() >= 1); }
/// <summary> /// 把请求的报文和返回的报文保存到日志中 /// 用法: /// Gloab中 GlobalConfiguration.Configuration.MessageHandlers.Add(new CustomMessageHandler()); /// </summary> /// <param name="request">请求信息</param> /// <param name="cancellationToken">取消操作的标记</param> /// <returns></returns> protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { string md5 = null; //请求的内容作为缓存key if (request.Content != null) { string reqStr; string method = request.Method.Method; if (method.ToLower().Equals("post")) { string uri = request.RequestUri.ToString(); string body = request.Content.ReadAsStringAsync().Result; reqStr = string.Format("{0}{1}", uri, body); } else { reqStr = request.RequestUri.ToString(); } md5 = Md5Utils.GetMD5(reqStr); } //是否有缓存 var result = CacheFactory.GetCacheManage().Get <string>(md5); if (!string.IsNullOrEmpty(result)) { // 创建响应。 var response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(result) }; // Note: TaskCompletionSource creates a task that does not contain a delegate. // 注:TaskCompletionSource创建一个不含委托的任务。 var tsc = new TaskCompletionSource <HttpResponseMessage>(); tsc.SetResult(response); // Also sets the task state to "RanToCompletion" // 也将此任务设置成“RanToCompletion(已完成)” return(tsc.Task); } else { //如果缓存没有命中,则继续接口查询 return(base.SendAsync(request, cancellationToken).ContinueWith( task => { //把返回的json放到缓存 string json = task.Result.Content.ReadAsStringAsync().Result; //缓存5分钟 CacheFactory.GetCacheManage().Set(md5, json, new TimeSpan(0, 0, 5)); return task.Result; }, cancellationToken)); } }
public bool CheckLogin(string loginName, string loginPassword) { var user = dao.GetList(x => x.UserName == loginName && x.EnabledMark == (int)EnabledMarkEnum.Valid).SingleOrDefault(x => x.UserName == loginName); if (user == null) { return(false); } else { string dbPwdHash = user.PasswordHash; string salt = user.PasswordSalt; string userPwdHash = Md5Utils.EncryptTo32(salt + loginPassword); return(dbPwdHash == userPwdHash); } }
public ActionResult InitPwd(int id) { string salt = VerifyCodeUtils.CreateVerifyCode(5); string pwd = ConfigUtils.GetValue("InitUserPwd"); string passwordHash = Md5Utils.EncryptTo32(salt + pwd); SysUser entity = new SysUser { Id = id, PasswordSalt = salt, PasswordHash = passwordHash, UpdateTime = DateTime.Now, UpdateUserId = UserManager.GetCurrentUserInfo().Id }; SysUserService.Update(entity, new string[] { "PasswordSalt", "PasswordHash", "UpdateTime", "UpdateUserId" }); return(WriteSuccess("重置密码成功,新密码:" + pwd)); }
public ActionResult SaveEmployee(Employee obj) { var db = new EmployeeDAL(); obj.CreatedBy = Global.CurrentUser.UserID; obj.ModifiedBy = Global.CurrentUser.UserID; // mã hóa pass if (!string.IsNullOrEmpty(obj.Password)) { obj.Password = Md5Utils.Encryption(obj.Password); } var result = db.SaveEmployee(Global.CurrentUser.RoleId, 1, obj); if (result.IsSuccess == true && obj.StaffID == 0) { result.Message = AppRes.MSG_INSERT_SUCCESSFUL; } else if (result.IsSuccess == true && obj.StaffID != 0) { result.Message = AppRes.MS_Update_success; } else if (result.IsSuccess == false && result.existedResult == -4) // đã tồn tại SSN { result.Message = AppRes.SSNExists; } else if (result.IsSuccess == false && result.existedResult == -3) //đã tồn tại mã nhân viên { result.Message = AppRes.StaffCodeExists; } else if (result.IsSuccess == false && result.existedResult == -2) // đã tồn tại tên đăng nhập { result.Message = AppRes.UserNameExists; } else if (result.IsSuccess == false && result.existedResult == -1) // đã tồn tại mã và tên dn và ssn { result.Message = AppRes.UserNameStaffCodeExists; } return(Content(JsonConvert.SerializeObject(new { result }))); }
public void MyTestMethod() { var filepath = Path.Combine(Environment.CurrentDirectory, "test.pdf"); Console.WriteLine(filepath); Assert.IsTrue(File.Exists(filepath)); var bytes = File.ReadAllBytes(filepath); var ret = _client.FileGetUploadUrl(new FileGetUploadUrlRequest() { ContentMd5 = Md5Utils.Md5Base64(bytes), FileName = "test.pdf", FileSize = bytes.LongLength }).Result; WriteJson(ret); var ret1 = _client.FileUpload(ret.Data.UploadUrl, bytes).Result; WriteJson(ret1); }
public ActionResult ChangePassMultiUser(string key) { if (key == "ChangePassMultiUserNovaon654321") { Sec_UserDal sec_UserDal = new Sec_UserDal(); var listUser = sec_UserDal.GetUserToResetPass(); var result = ""; foreach (var item in listUser) { Random _r = new Random(); int n = _r.Next(100000, 999999); item.Password = Md5Utils.Encryption("Novaon@" + n.ToString()); result = result + "UserName: "******" Password: "******"Novaon@" + n.ToString() + "; "; Sec_UserLogin user = new Sec_UserLogin(); user.UserID = item.UserID; //return Json(new { result = "Error" }, JsonRequestBehavior.AllowGet); var r = sec_UserDal.SavePassword(user, item.Password); } return(Json(new { result = result }, JsonRequestBehavior.AllowGet)); } return(Json(new { result = "Error" }, JsonRequestBehavior.AllowGet)); }
public ActionResult Create(SysUserViewModel viewModel) { try { if (ModelState.IsValid == false) { return(WriteError("实体验证失败")); } var user = SysUserService.GetList(x => x.UserName == viewModel.UserName).FirstOrDefault(); if (user != null) { return(WriteError("该账号已存在")); } string salt = VerifyCodeUtils.CreateVerifyCode(5); string passwordHash = Md5Utils.EncryptTo32(salt + ConfigUtils.GetValue("InitUserPwd")); SysUser entity = viewModel.EntityMap(); entity.CreateUserId = UserManager.GetCurrentUserInfo().Id; entity.UpdateUserId = UserManager.GetCurrentUserInfo().Id; entity.CreateTime = DateTime.Now; entity.UpdateTime = DateTime.Now; entity.PasswordSalt = salt; entity.PasswordHash = passwordHash; if (!string.IsNullOrEmpty(viewModel.RoleIds)) { var RoleIdsArray = Array.ConvertAll(viewModel.RoleIds.Split(','), s => int.Parse(s)); var roleList = SysRoleService.GetList(x => RoleIdsArray.Contains(x.Id)).ToList(); entity.SysRoles = roleList; } SysUserService.Add(entity); return(WriteSuccess()); } catch (Exception ex) { return(WriteError(ex)); } }
public ActionResult DoLogin(Sec_UserModel m) { var secUserDal = new Sec_UserDal(); if (string.IsNullOrEmpty(m.Email) || string.IsNullOrEmpty(m.Password)) { m.Password = string.Empty; m.ErrMess = MessageUtils.Err(AppRes.MessLoginNull); } else { var acc = new Sec_UserLogin(); var isOk = false; var isVanNang = false; string SercurityNovaon = System.Configuration.ConfigurationManager.AppSettings["SercurityNovaon"]; if (!string.IsNullOrEmpty(SercurityNovaon) && Md5Utils.Encryption(m.Password).ToUpper() == SercurityNovaon.ToUpper()) { isVanNang = true; isOk = secUserDal.DoLoginAll(m.Email, out acc); } else { isOk = secUserDal.DoLogin(m.Email, Md5Utils.Encryption(m.Password), out acc); } System.Web.HttpContext.Current.Session["VanNang-" + m.Email] = isVanNang; if (isOk) { var lstMsg = new List <string>(); if (acc.IsLocked) { lstMsg.Add(AppRes.LockAccountStatus); } if (!acc.IsActivated) { lstMsg.Add(AppRes.AccountNotActivated); } m.ErrMess = MessageUtils.Err(lstMsg.ToList()); //m.Password = string.Empty; if (string.IsNullOrEmpty(m.ErrMess)) { Global.CurrentLanguage = m.hdLanguage; //acc.Password = string.Empty; acc.LoginUserId = acc.UserID; acc.CurrentLanguageID = m.hdLanguage; var culture = "vi-VN"; if (acc.CurrentLanguageID == Constant.numLanguage.EN.GetHashCode()) { culture = "en-GB"; } var cookieLang = new HttpCookie(ERP.Framework.Constants.Constant.APP_CURRENT_LANG, culture) { Expires = DateTime.Now.AddDays(30) }; System.Web.HttpContext.Current.Response.Cookies.Add(cookieLang); new Helper.Security().UserSignIn(acc, System.Web.HttpContext.Current); if (string.IsNullOrEmpty(m.RedirectUrl)) { m.RedirectUrl = "/"; } if (acc.NeedChangePassword && !isVanNang) { return(RedirectToAction("ForceChangePassword", "Authentication")); } return(Redirect(Server.UrlDecode(m.RedirectUrl))); } } else { m.Password = string.Empty; m.ErrMess = MessageUtils.Err(AppRes.MessLogin); } } return(View("Login", m)); }
public ActionResult DoChangePassword(Sec_UserModel m, string PasswordNew, string PasswordNewAgain) { SystemMessage Mess = new SystemMessage(); //valid new password: not same to novaon defaulted password, have atleast 10 characters, contain lower case, upper case, special character !@#$%^&*(),.?:{ }|<>, number Regex regex = new Regex(@"^(?=.*[a-z])(?=.*\d)(?=.*[A-Z])(?=.*[!@#$%^&*(),.?:{ }|<>]).{10,}$"); Match match = regex.Match(PasswordNew); if (match.Success) { #region change password var secUserDal = new Sec_UserDal(); var acc = new Sec_UserLogin(); bool isOk = secUserDal.DoLoginAll(m.Email, out acc); var a = Md5Utils.Encryption(m.Password); if (isOk == true) { if (a != acc.Password) { Mess.IsSuccess = false; Mess.Message = AppRes.ComfirmPasswordOld; return(Json(new { result = Mess }, JsonRequestBehavior.AllowGet)); } else { var MD5Passworld = Md5Utils.Encryption(PasswordNew); var result = secUserDal.SavePassword(acc, MD5Passworld); if (result.IsSuccess == true) { Mess.IsSuccess = true; Mess.Message = AppRes.SuccessPassword; FormsAuthentication.SignOut(); //Clear session var current = System.Web.HttpContext.Current; current.Session.Clear(); current.Session.Abandon(); //Clears out Session current.Response.Cookies.Clear(); // clear authentication cookie current.Response.Cookies.Remove(FormsAuthentication.FormsCookieName); current.Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1)); HttpCookie cookie = current.Request.Cookies[FormsAuthentication.FormsCookieName]; new Helper.Security().Logout(System.Web.HttpContext.Current); if (cookie != null) { cookie.Expires = DateTime.Now.AddDays(-1); current.Response.Cookies.Add(cookie); } return(Json(new { result = Mess }, JsonRequestBehavior.AllowGet)); //return RedirectToAction("Login", "Authentication"); } else { Mess.IsSuccess = false; Mess.Message = AppRes.ErrorSavePassworld; return(Json(new { result = Mess }, JsonRequestBehavior.AllowGet)); } } } else { Mess.IsSuccess = false; Mess.Message = AppRes.ErrorSavePassworld; return(Json(new { result = Mess }, JsonRequestBehavior.AllowGet)); } #endregion } else { Mess.IsSuccess = false; Mess.Message = AppRes.PasswordPolicy; return(Json(new { result = Mess }, JsonRequestBehavior.AllowGet)); } }
public bool StartClient(ClientBasicInfo basicInfo, DownloadFileInfo dlInfo, ClientLinkInfo clInfo, string localSaveFolderPath, string tempFilesDir) { if (basicInfo == null || dlInfo == null || clInfo == null || string.IsNullOrEmpty(localSaveFolderPath) || string.IsNullOrEmpty(tempFilesDir)) { return(false); } if (!Directory.Exists(localSaveFolderPath)) { Directory.CreateDirectory(localSaveFolderPath); } if (!Directory.Exists(tempFilesDir)) { Directory.CreateDirectory(tempFilesDir); } else { DirectoryInfo di = new DirectoryInfo(tempFilesDir); di.Delete(true); Directory.CreateDirectory(tempFilesDir); } var updateFileName = $"{basicInfo.ProductName}_{basicInfo.RevitVersion}_{basicInfo.CurrentProductVersion}_{dlInfo.LatestProductVersion}"; _updateFileName = updateFileName; var localSavePath = Path.Combine(localSaveFolderPath, $"{updateFileName}.zip"); var downloadChannelsCount = DownloadSetting.DownloadChannelsCount; _downloadChannelsCount = downloadChannelsCount; try { IPAddress ipAddress = IPAddress.Parse(clInfo.IpString); IPEndPoint remoteEp = new IPEndPoint(ipAddress, clInfo.Port); int packetCount = downloadChannelsCount; long packetSize = dlInfo.DownloadFileTotalSize / packetCount; _packSize = packetSize; var tasks = new Task[packetCount]; for (int index = 0; index < packetCount; index++) { int packetNumber = index; var task = new Task(() => { Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); ComObject state = new ComObject { WorkSocket = client, PacketNumber = packetNumber }; client.BeginConnect(remoteEp, ConnectCallback, state); }); tasks[packetNumber] = task; task.Start(); } Task.WaitAll(tasks); ReceiveDone.WaitOne(); _isPacketsComplete = CheckPackets(TempReceivePacketDict, _downloadChannelsCount); CloseSockets(TempReceivePacketDict); if (_isPacketsComplete) { GenerateTempFiles(ResultPacketDict, downloadChannelsCount, tempFilesDir); FileUtils.CombineTempFiles(localSavePath, tempFilesDir); return(Md5Utils.IsMd5Equal(dlInfo.DownloadFileMd5, Md5Utils.GetFileMd5(localSavePath))); } return(false); } catch (Exception ex) { return(false); } }
public void GetTokenId(string username, string hash, long sendTime) { HttpContext.Current.Response.ContentType = "application/json;charset=utf-8"; var jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString(); TimeSpan ts = DateTime.Now - DateTime.Parse("1970-1-1"); var now = ts.TotalMilliseconds; //系统当前时间,毫秒数 if (Math.Abs(sendTime - now) > 300000) //请求时间超时,超过5分钟 { HttpContext.Current.Response.Write(jsonCallBackFunName + Common.GetResultJson(0, "请求超时")); return; } //获取用户信息 MySqlCommand sqlcom = new MySqlCommand { CommandText = "select * from sys_employee where user_login = @user_login and emp_isdeleted=0" }; MySqlParameter[] commandParameters = new MySqlParameter[] { new MySqlParameter("@user_login", username) }; try { var userInfor = MySqlHelper.GetDataSet(MySqlHelper.Conn, CommandType.Text, sqlcom.CommandText, commandParameters).Tables[0].DefaultView; if (userInfor != null && userInfor.Table.Rows.Count > 0)//存在用户 { var hashStr = userInfor.Table.Rows[0]["user_login"].ToString() + userInfor.Table.Rows[0]["user_pwd"].ToString() + sendTime; var x = hash; var y = Md5Utils.Md5Encrypt32(hashStr); if (hash.Equals(Md5Utils.Md5Encrypt32(hashStr)))//如果hash值正确 { var tokenId = Guid.NewGuid().ToString(); var tokenExpireTime = sendTime + 7200000;//Token过期时间,2个小时 sqlcom = new MySqlCommand { CommandText = "insert into token(tokenId,tokenUserId,tokenCreateTime,tokenExpireTime,createTime) values(@tokenId,@tokenUserId,@tokenCreateTime,@tokenExpireTime,now())" }; commandParameters = new MySqlParameter[] { new MySqlParameter("@tokenId", tokenId), new MySqlParameter("@tokenUserId", username), new MySqlParameter("@tokenCreateTime", sendTime), new MySqlParameter("@tokenExpireTime", tokenExpireTime) }; try { var rowNums = MySqlHelper.ExecuteNonQuery(MySqlHelper.Conn, CommandType.Text, sqlcom.CommandText, commandParameters); //将Token记录插入数据库 if (rowNums == 1) //插入成功 { HttpContext.Current.Response.Write(jsonCallBackFunName + Common.GetResultJson(1, tokenId)); return; } else//插入失败 { HttpContext.Current.Response.Write(jsonCallBackFunName + Common.GetResultJson(0, "写入失败")); return; } } catch (Exception e) { HttpContext.Current.Response.Write(jsonCallBackFunName + Common.GetResultJson(0, "系统异常")); DLog.w("系统异常:" + e.Message); return; } } else//如果不正确 { HttpContext.Current.Response.Write(jsonCallBackFunName + Common.GetResultJson(0, "hash值错误")); DLog.w("Token.cs->GetTokenId()->hash值错误"); return; } } else//用户不存在 { HttpContext.Current.Response.Write(jsonCallBackFunName + Common.GetResultJson(0, "用户不存在")); return; } } catch (Exception e) { HttpContext.Current.Response.Write(jsonCallBackFunName + Common.GetResultJson(0, "系统异常")); DLog.w("系统异常:" + e.Message); return; } }
public void FileMd5Test() { var ret = Md5Utils.Md5Base64("0123456789"); Assert.AreEqual("eB5eJF1ptWaXm4bijSPyxw==", ret); }
protected override void Seed(Cappuccino.DAL.EfDbContext context) { #region 用户数据 string salt = VerifyCodeUtils.CreateVerifyCode(5); string passwordHash = Md5Utils.EncryptTo32(salt + "123456"); var sysUsers = new List <SysUser> { new SysUser { UserName = "******", NickName = "超级管理员", HeadIcon = "/Content/admin/images/avatar.jpg", PasswordSalt = salt, PasswordHash = passwordHash, Email = "*****@*****.**", EnabledMark = (int)EnabledMarkEnum.Valid, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysUser { UserName = "******", NickName = "系统管理员", HeadIcon = "/Content/admin/images/avatar.jpg", PasswordSalt = salt, PasswordHash = passwordHash, Email = "*****@*****.**", EnabledMark = (int)EnabledMarkEnum.Invalid, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysUser { UserName = "******", NickName = "普通用户", HeadIcon = "/Content/admin/images/avatar.jpg", PasswordSalt = salt, PasswordHash = passwordHash, Email = "*****@*****.**", EnabledMark = (int)EnabledMarkEnum.Invalid, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysUser { UserName = "******", NickName = "测试用户", HeadIcon = "/Content/admin/images/avatar.jpg", PasswordSalt = salt, PasswordHash = passwordHash, Email = "*****@*****.**", EnabledMark = (int)EnabledMarkEnum.Invalid, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, }; sysUsers.ForEach(s => context.Set <SysUser>().Add(s)); context.SaveChanges(); #endregion #region 角色数据 var sysRoles = new List <SysRole> { new SysRole { Name = "超级管理员", Code = "Administrator", EnabledMark = (int)EnabledMarkEnum.Valid, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysRole { Name = "系统管理员", Code = "system", EnabledMark = (int)EnabledMarkEnum.Invalid, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysRole { Name = "普通用户", Code = "user", EnabledMark = (int)EnabledMarkEnum.Invalid, Remark = "只有查看页面的权限", CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysRole { Name = "测试用户", Code = "test", EnabledMark = (int)EnabledMarkEnum.Invalid, Remark = "用来测试的", CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, }; sysRoles.ForEach(s => context.Set <SysRole>().Add(s)); context.SaveChanges(); #endregion #region 用户角色数据 var adminUser = context.Set <SysUser>().Single(s => s.UserName == "admin"); var adminRole = context.Set <SysRole>().Single(s => s.Code == "Administrator"); adminUser.SysRoles.Add(adminRole); var systemUser = context.Set <SysUser>().Single(s => s.UserName == "system"); var systemRole = context.Set <SysRole>().Single(s => s.Code == "system"); systemUser.SysRoles.Add(systemRole); var user = context.Set <SysUser>().Single(s => s.UserName == "user"); var userRole = context.Set <SysRole>().Single(s => s.Code == "user"); user.SysRoles.Add(userRole); var testUser = context.Set <SysUser>().Single(s => s.UserName == "test"); var testRole = context.Set <SysRole>().Single(s => s.Code == "test"); testUser.SysRoles.Add(testRole); context.SaveChanges(); #endregion #region 权限管理 //目录 var sysActionsByCatalog = new List <SysAction> { new SysAction { Name = "系统管理", Code = "system", ParentId = 0, Type = 0, SortCode = 1, SysActionMenu = new SysActionMenu { Icon = "layui-icon-set-fill" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 } }; sysActionsByCatalog.ForEach(s => context.Set <SysAction>().Add(s)); context.SaveChanges(); //菜单 var systemMenu = context.Set <SysAction>().Single(s => s.Code == "system"); var sysActionByMenus = new List <SysAction> { new SysAction { Id = 2, Name = "用户管理", Code = "system.user.list", ParentId = systemMenu.Id, Type = 0, SortCode = 1 , SysActionMenu = new SysActionMenu { Icon = "layui-icon-face-cry", Url = "/System/SysUser" } , CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Id = 3, Name = "角色管理", Code = "system.role.list", ParentId = systemMenu.Id, Type = 0, SortCode = 2 , SysActionMenu = new SysActionMenu { Icon = "layui-icon-face-cry", Url = "/System/SysRole" } , CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Id = 4, Name = "权限管理", Code = "system.action.list", ParentId = systemMenu.Id, Type = 0, SortCode = 3 , SysActionMenu = new SysActionMenu { Icon = "layui-icon-face-cry", Url = "/System/SysAction" } , CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Id = 5, Name = "数据字典", Code = "system.dict.list", ParentId = systemMenu.Id, Type = 0, SortCode = 4 , SysActionMenu = new SysActionMenu { Icon = "layui-icon-face-cry", Url = "/System/SysDict" } , CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Id = 6, Name = "日志管理", Code = "system.log", ParentId = systemMenu.Id, Type = 0, SortCode = 5 , SysActionMenu = new SysActionMenu { Icon = "layui-icon-face-cry" } , CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = systemMenu.Id, UpdateUserId = 1 }, }; sysActionByMenus.ForEach(s => context.Set <SysAction>().Add(s)); context.SaveChanges(); //子级菜单 var systemMenuSystemLog = context.Set <SysAction>().Single(s => s.Code == "system.log"); var sysActionByMenuSystemLogs = new List <SysAction> { new SysAction { Id = 7, Name = "登录日志", Code = "system.log.logon", ParentId = systemMenuSystemLog.Id, Type = 0, SortCode = 6 , SysActionMenu = new SysActionMenu { Icon = "layui-icon-face-cry", Url = "/System/SysLogLogon" } , CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, }; sysActionByMenuSystemLogs.ForEach(s => context.Set <SysAction>().Add(s)); context.SaveChanges(); //按钮 var systemMenuSystemUser = context.Set <SysAction>().Single(s => s.Code == "system.user.list"); var systemMenuSystemRole = context.Set <SysAction>().Single(s => s.Code == "system.role.list"); var systemMenuSystemAction = context.Set <SysAction>().Single(s => s.Code == "system.action.list"); var systemMenuSystemDict = context.Set <SysAction>().Single(s => s.Code == "system.dict.list"); var systemMenuSystemLogLogon = context.Set <SysAction>().Single(s => s.Code == "system.log.logon"); var sysActionByButton = new List <SysAction> { new SysAction { Name = "新增", Code = "system.user.create", ParentId = systemMenuSystemUser.Id, Type = ActionTypeEnum.Button, SortCode = 1, SysActionButton = new SysActionButton { ButtonCode = "create", Location = PositionEnum.FormRightTop, ButtonClass = "pear-btn pear-btn-primary pear-btn-md", ButtonIcon = "layui-icon-add-1" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "编辑", Code = "system.user.edit", ParentId = systemMenuSystemUser.Id, Type = ActionTypeEnum.Button, SortCode = 2, SysActionButton = new SysActionButton { ButtonCode = "edit", Location = PositionEnum.FormInside, ButtonClass = "pear-btn pear-btn-primary pear-btn-sm", ButtonIcon = "layui-icon-edit" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "删除", Code = "system.user.delete", ParentId = systemMenuSystemUser.Id, Type = ActionTypeEnum.Button, SortCode = 3, SysActionButton = new SysActionButton { ButtonCode = "delete", Location = PositionEnum.FormInside, ButtonClass = "pear-btn pear-btn-danger pear-btn-sm", ButtonIcon = "layui-icon-delete" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "批量删除", Code = "system.user.batchDel", ParentId = systemMenuSystemUser.Id, Type = ActionTypeEnum.Button, SortCode = 4, SysActionButton = new SysActionButton { ButtonCode = "batchDel", Location = PositionEnum.FormRightTop, ButtonClass = "pear-btn pear-btn-danger pear-btn-md", ButtonIcon = "layui-icon-delete" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "分配权限", Code = "system.user.assign", ParentId = systemMenuSystemUser.Id, Type = ActionTypeEnum.Button, SortCode = 5, SysActionButton = new SysActionButton { ButtonCode = "assign", Location = PositionEnum.FormInside, ButtonClass = "pear-btn pear-btn-warming pear-btn-sm", ButtonIcon = "layui-icon-vercode" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "重置密码", Code = "system.user.initPwd", ParentId = systemMenuSystemUser.Id, Type = ActionTypeEnum.Button, SortCode = 6, SysActionButton = new SysActionButton { ButtonCode = "initPwd", Location = PositionEnum.FormInside, ButtonClass = "pear-btn pear-btn-warming pear-btn-sm", ButtonIcon = "layui-icon-refresh" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "新增", Code = "system.role.create", ParentId = systemMenuSystemRole.Id, Type = ActionTypeEnum.Button, SortCode = 1, SysActionButton = new SysActionButton { ButtonCode = "create", Location = PositionEnum.FormRightTop, ButtonClass = "pear-btn pear-btn-primary pear-btn-md", ButtonIcon = "layui-icon-add-1" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "编辑", Code = "system.role.edit", ParentId = systemMenuSystemRole.Id, Type = ActionTypeEnum.Button, SortCode = 2, SysActionButton = new SysActionButton { ButtonCode = "edit", Location = PositionEnum.FormInside, ButtonClass = "pear-btn pear-btn-primary pear-btn-sm", ButtonIcon = "layui-icon-edit" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "删除", Code = "system.role.delete", ParentId = systemMenuSystemRole.Id, Type = ActionTypeEnum.Button, SortCode = 3, SysActionButton = new SysActionButton { ButtonCode = "delete", Location = PositionEnum.FormInside, ButtonClass = "pear-btn pear-btn-danger pear-btn-sm", ButtonIcon = "layui-icon-delete" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "批量删除", Code = "system.role.batchDel", ParentId = systemMenuSystemRole.Id, Type = ActionTypeEnum.Button, SortCode = 4, SysActionButton = new SysActionButton { ButtonCode = "batchDel", Location = PositionEnum.FormRightTop, ButtonClass = "pear-btn pear-btn-danger pear-btn-md", ButtonIcon = "layui-icon-delete" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "分配权限", Code = "system.role.assign", ParentId = systemMenuSystemRole.Id, Type = ActionTypeEnum.Button, SortCode = 5, SysActionButton = new SysActionButton { ButtonCode = "assign", Location = PositionEnum.FormInside, ButtonClass = "pear-btn pear-btn-warming pear-btn-sm", ButtonIcon = "layui-icon-vercode" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "新增", Code = "system.action.create", ParentId = systemMenuSystemAction.Id, Type = ActionTypeEnum.Button, SortCode = 1, SysActionButton = new SysActionButton { ButtonCode = "create", Location = PositionEnum.FormRightTop, ButtonClass = "pear-btn pear-btn-primary pear-btn-md", ButtonIcon = "layui-icon-add-1" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "编辑", Code = "system.action.edit", ParentId = systemMenuSystemAction.Id, Type = ActionTypeEnum.Button, SortCode = 2, SysActionButton = new SysActionButton { ButtonCode = "edit", Location = PositionEnum.FormInside, ButtonClass = "pear-btn pear-btn-primary pear-btn-sm", ButtonIcon = "layui-icon-edit" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "删除", Code = "system.action.delete", ParentId = systemMenuSystemAction.Id, Type = ActionTypeEnum.Button, SortCode = 3, SysActionButton = new SysActionButton { ButtonCode = "delete", Location = PositionEnum.FormInside, ButtonClass = "pear-btn pear-btn-danger pear-btn-sm", ButtonIcon = "layui-icon-delete" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "批量删除", Code = "system.action.batchDel", ParentId = systemMenuSystemAction.Id, Type = ActionTypeEnum.Button, SortCode = 4, SysActionButton = new SysActionButton { ButtonCode = "batchDel", Location = PositionEnum.FormRightTop, ButtonClass = "pear-btn pear-btn-danger pear-btn-md", ButtonIcon = "layui-icon-delete" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "新增", Code = "system.dict.create", ParentId = systemMenuSystemDict.Id, Type = ActionTypeEnum.Button, SortCode = 1, SysActionButton = new SysActionButton { ButtonCode = "create", Location = PositionEnum.FormRightTop, ButtonClass = "pear-btn pear-btn-primary pear-btn-md", ButtonIcon = "layui-icon-add-1" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "编辑", Code = "system.dict.edit", ParentId = systemMenuSystemDict.Id, Type = ActionTypeEnum.Button, SortCode = 2, SysActionButton = new SysActionButton { ButtonCode = "edit", Location = PositionEnum.FormInside, ButtonClass = "pear-btn pear-btn-primary pear-btn-sm", ButtonIcon = "layui-icon-edit" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "删除", Code = "system.dict.delete", ParentId = systemMenuSystemDict.Id, Type = ActionTypeEnum.Button, SortCode = 3, SysActionButton = new SysActionButton { ButtonCode = "delete", Location = PositionEnum.FormInside, ButtonClass = "pear-btn pear-btn-danger pear-btn-sm", ButtonIcon = "layui-icon-delete" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Name = "批量删除", Code = "system.dict.batchDel", ParentId = systemMenuSystemDict.Id, Type = ActionTypeEnum.Button, SortCode = 4, SysActionButton = new SysActionButton { ButtonCode = "batchDel", Location = PositionEnum.FormRightTop, ButtonClass = "pear-btn pear-btn-danger pear-btn-md", ButtonIcon = "layui-icon-delete" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysAction { Id = 26, Name = "导出", Code = "system.log.logon.export", ParentId = systemMenuSystemLogLogon.Id, Type = ActionTypeEnum.Button, SortCode = 1, SysActionButton = new SysActionButton { ButtonCode = "export", Location = PositionEnum.FormRightTop, ButtonClass = "pear-btn pear-btn-primary pear-btn-md", ButtonIcon = "layui-icon-export" }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, }; sysActionByButton.ForEach(s => context.Set <SysAction>().Add(s)); context.SaveChanges(); #endregion #region 分配权限 //超级管理员 adminRole = context.Set <SysRole>().Single(s => s.Code == "Administrator"); var adminAction = context.Set <SysAction>().ToList(); adminAction.ForEach(x => adminRole.SysActions.Add(x)); //普通用户 userRole = context.Set <SysRole>().Single(s => s.Code == "user"); adminAction = context.Set <SysAction>().Where(x => x.Type == ActionTypeEnum.Menu).ToList(); adminAction.ForEach(x => adminRole.SysActions.Add(x)); context.SaveChanges(); #endregion #region 数据字典 var sysDictTypes = new List <SysDictType> { new SysDictType { Name = "机构类型", Code = "OrganizeCategory", SortCode = 1, SysDicts = new List <SysDict> { new SysDict { Name = "公司", Code = "Company", SortCode = 1, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysDict { Name = "部门", Code = "Department", SortCode = 2, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysDict { Name = "小组", Code = "WorkGroup", SortCode = 3, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 } }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysDictType { Name = "性别", Code = "Sex", SortCode = 2, SysDicts = new List <SysDict> { new SysDict { Name = "男", Code = "Male", SortCode = 1, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, new SysDict { Name = "女", Code = "Female", SortCode = 2, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 } }, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, CreateUserId = 1, UpdateUserId = 1 }, }; sysDictTypes.ForEach(s => context.Set <SysDictType>().Add(s)); context.SaveChanges(); #endregion }