public static string GetMd5Sum(string str) { // First we need to convert the string into bytes, which // means using a text encoder. Encoder enc = System.Text.Encoding.Unicode.GetEncoder(); // Create a buffer large enough to hold the string byte[] unicodeText = new byte[str.Length * 2]; enc.GetBytes(str.ToCharArray(), 0, str.Length, unicodeText, 0, true); // Now that we have a byte array we can ask the CSP to hash it MD5 md5 = new MD5CryptoServiceProvider(); byte[] result = md5.ComputeHash(unicodeText); // Build the final string by converting each byte // into hex and appending it to a StringBuilder StringBuilder sb = new StringBuilder(); for (int i = 0; i < result.Length; i++) { sb.Append(result[i].ToString("X2")); } // And return it return sb.ToString(); }
public void In( [FriendlyName("Key", "The string to be used to generate the hash from.")] string Key, [FriendlyName("MD5 Hash", "The MD5 Hash generated by the Key.")] out string Hash ) { if (Key != "") { UTF8Encoding ue = new UTF8Encoding(); byte[] bytes = ue.GetBytes(Key); // encrypt bytes MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); byte[] hashBytes = md5.ComputeHash(bytes); // Convert the encrypted bytes back to a string (base 16) string tmpHash = ""; for (int i = 0; i < hashBytes.Length; i++) { tmpHash += System.Convert.ToString(hashBytes[i], 16).PadLeft(2, '0'); } Hash = tmpHash.PadLeft(32, '0'); } else { uScriptDebug.Log("[Generate MD5 Hash] The Key provided was empty, returning an empty string for the MD5 Hash.", uScriptDebug.Type.Warning); Hash = ""; } }
public string Encrypt(string ToEncrypt, bool useHasing) { byte[] keyArray; byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(ToEncrypt); string Key = "malkit"; if (useHasing) { MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider(); keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(Key)); hashmd5.Clear(); } else { keyArray = UTF8Encoding.UTF8.GetBytes(Key); } TripleDESCryptoServiceProvider tDes = new TripleDESCryptoServiceProvider(); tDes.Key = keyArray; tDes.Mode = CipherMode.ECB; tDes.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = tDes.CreateEncryptor(); byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); tDes.Clear(); return Convert.ToBase64String(resultArray, 0, resultArray.Length); }
public string Decrypt(string cypherString, bool useHasing) { byte[] keyArray; byte[] toDecryptArray = Convert.FromBase64String(cypherString.Replace(' ','+')); string key = "malkit"; if (useHasing) { MD5CryptoServiceProvider hashmd = new MD5CryptoServiceProvider(); keyArray = hashmd.ComputeHash(UTF8Encoding.UTF8.GetBytes(key)); hashmd.Clear(); } else { keyArray = UTF8Encoding.UTF8.GetBytes(key); } TripleDESCryptoServiceProvider tDes = new TripleDESCryptoServiceProvider(); tDes.Key = keyArray; tDes.Mode = CipherMode.ECB; tDes.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = tDes.CreateDecryptor(); try { byte[] resultArray = cTransform.TransformFinalBlock(toDecryptArray, 0, toDecryptArray.Length); tDes.Clear(); return UTF8Encoding.UTF8.GetString(resultArray, 0, resultArray.Length); } catch (Exception ex) { throw ex; } }
/// <summary> /// MD5加密 /// </summary> /// <param name="strOriginal"></param> /// <returns></returns> public static string MD5Encode(string strOriginal) { byte[] byteInput = UTF8Encoding.UTF8.GetBytes(strOriginal); MD5CryptoServiceProvider objMD5 = new MD5CryptoServiceProvider(); byte[] byteOutput = objMD5.ComputeHash(byteInput); return BitConverter.ToString(byteOutput).Replace("-", ""); }
public static string ComputeMD5(string value) { /* * Create the md5 crypt service provider */ MD5 crypt = new MD5CryptoServiceProvider(); StreamWriter pwd = new StreamWriter(new MemoryStream()); pwd.Write(value); pwd.Flush(); /* * Compute the hash code */ pwd.BaseStream.Seek(0, SeekOrigin.Begin); byte[] cryptHash = crypt.ComputeHash(pwd.BaseStream); /* * Convert the result to hex */ string result = ""; int nLen = cryptHash.Length; for (int nPos = 0; nPos < nLen; nPos++) { byte cBuff = cryptHash[nPos]; result += Convert((long)cBuff, 16); } return result.ToLower(); }
protected void LogIn(object sender, EventArgs e) { // Colecting data string email = TBEmail.Text; string password = TBPass.Text; // Hashing password MD5 md5 = new MD5CryptoServiceProvider(); md5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(password)); password = Convert.ToBase64String(md5.Hash); // Checking login details Staff account = DBConnectivity.login(email, password); if (account != null) { // Loging OK Session["auth_email"] = account.email; Session["first_name"] = account.firstName; Session["access"] = account.access; Response.Redirect("~/Manage-Pets"); } else { // Bad details ErrorMessage.Visible = true; FailureText.Text = "Bad credentials. Try again."; } }
public static string Encrypt(string toEncrypt, bool useHashing) { byte[] keyArray; byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt); System.Configuration.AppSettingsReader settingsReader = new AppSettingsReader(); string key = (string)settingsReader.GetValue("search", typeof(string)); if (useHashing) { MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider(); keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key)); hashmd5.Clear(); } else keyArray = UTF8Encoding.UTF8.GetBytes(key); TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider(); tdes.Key = keyArray; tdes.Mode = CipherMode.ECB; tdes.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = tdes.CreateEncryptor(); byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); tdes.Clear(); return Convert.ToBase64String(resultArray, 0, resultArray.Length); }
/// <summary> /// Decrypt the given string using the specified key. /// </summary> /// <param name="strEncrypted">The string to be decrypted.</param> /// <param name="strKey">The decryption key.</param> /// <returns>The decrypted string.</returns> public static string Decrypt(string strEncrypted, string strKey) { try { TripleDESCryptoServiceProvider objDESCrypto = new TripleDESCryptoServiceProvider(); MD5CryptoServiceProvider objHashMD5 = new MD5CryptoServiceProvider(); byte[] byteHash, byteBuff; string strTempKey = strKey; byteHash = objHashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(strTempKey)); objHashMD5 = null; objDESCrypto.Key = byteHash; objDESCrypto.Mode = CipherMode.ECB; //CBC, CFB byteBuff = Convert.FromBase64String(strEncrypted); string strDecrypted = ASCIIEncoding.ASCII.GetString(objDESCrypto.CreateDecryptor().TransformFinalBlock(byteBuff, 0, byteBuff.Length)); objDESCrypto = null; return strDecrypted; } catch (Exception ex) { return "Wrong Input. " + ex.Message; } }
public void In( [FriendlyName("Key", "The string to be used to check against the provided MD5 hash.")] string Key, [FriendlyName("MD5 Hash", "The MD5 Hash to check the key against.")] string Hash ) { if (Key != "" && Hash != "") { UTF8Encoding ue = new UTF8Encoding(); byte[] bytes = ue.GetBytes(Key); // encrypt bytes MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); byte[] hashBytes = md5.ComputeHash(bytes); // Convert the encrypted bytes back to a string (base 16) string tmpHash = ""; for (int i = 0; i < hashBytes.Length; i++) { tmpHash += System.Convert.ToString(hashBytes[i], 16).PadLeft(2, '0'); } string finalHash = tmpHash.PadLeft(32, '0'); if (finalHash == Hash) { m_GoodHash = true; } } }
public static string Encrypt(string plainText ) { string encrypted = null; try { byte[] inputBytes = ASCIIEncoding.ASCII.GetBytes(plainText); byte[] pwdhash = null; MD5CryptoServiceProvider hashmd5; //generate an MD5 hash from the password. //a hash is a one way encryption meaning once you generate //the hash, you cant derive the password back from it. hashmd5 = new MD5CryptoServiceProvider(); pwdhash = hashmd5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(key)); hashmd5 = null; // Create a new TripleDES service provider TripleDESCryptoServiceProvider tdesProvider = new TripleDESCryptoServiceProvider(); tdesProvider.Key = pwdhash; tdesProvider.Mode = CipherMode.ECB; byte [] edata = tdesProvider.CreateEncryptor().TransformFinalBlock(inputBytes, 0, inputBytes.Length); encrypted = Convert.ToBase64String( edata ); } catch(Exception e) { string str = e.Message; throw ; } return encrypted; }
public static string md5method(string textoPlano) { byte[] data = System.Text.UTF8Encoding.ASCII.GetBytes(textoPlano); MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); byte[] hashbyte = md5.ComputeHash(data, 0, data.Length); return BitConverter.ToString(hashbyte); }
private static string Com(Stream stream) { MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); md5.ComputeHash(stream); byte[] hash = md5.Hash; if (hash == null) { _ecode = MD5ErrorCode.E_ComputeHash; return string.Empty; } StringBuilder sb = new StringBuilder(); foreach (byte byt in hash) { sb.Append(String.Format("{0:X1}", byt)); } string ret = sb.ToString(); sb = null; return ret; }
public static string MD5(string text) { string md5Hash; StringBuilder sb; byte[] textBytes; byte[] encodedBytes; MD5CryptoServiceProvider md5Provider; if (text == null) { throw new ArgumentNullException("text"); } sb = new StringBuilder(); md5Provider = new MD5CryptoServiceProvider(); textBytes = ASCIIEncoding.Default.GetBytes(text); encodedBytes = md5Provider.ComputeHash(textBytes); for (int i = 0; i < encodedBytes.Length; i++) { sb.AppendFormat("{0:x2}", encodedBytes[i]); } md5Hash = sb.ToString(); return md5Hash; }
public HMACMD5 (byte[] key) { m_hashName = "MD5"; m_hash1 = new MD5CryptoServiceProvider(); m_hash2 = new MD5CryptoServiceProvider(); HashSizeValue = 128; base.InitializeKey(key); }
public static string GoodieTwoShoes(string factora) { MD5 md5 = new MD5CryptoServiceProvider(); string sResult = ""; string sSecret = "jsdkfjks3423345879(*&*&&fdsdf903e38278sd"; string sStringIn = factora + sSecret; char[] caData = sStringIn.ToCharArray(); byte[] data = new byte[caData.GetLength(0)]; int i = 0; foreach (char c in caData) { data[i++] = (byte)c; } byte[] result = md5.ComputeHash(data); string sTemp; foreach (byte b in result) { sTemp = b.ToString("x"); if (sTemp.Length == 1) { sTemp = "0" + sTemp; } sResult = sResult + sTemp; } char[] szNum = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; sResult = string.Format("{0}-{1}-{2}-{3}", sResult.Substring(3, 5), sResult.Substring(8, 5), sResult.Substring(16, 5), sResult.Substring(22, 5)); return sResult.ToUpper(); }
/// <summary> /// Initializes the telemetry client. /// </summary> public static void Initialize(IServiceProvider serviceProvider, string version, string telemetryKey) { if (_telemetry != null) throw new NotSupportedException("The telemetry client is already initialized"); var dte = (DTE2)serviceProvider.GetService(typeof(DTE)); _telemetry = new TelemetryClient(); _telemetry.Context.Session.Id = Guid.NewGuid().ToString(); _telemetry.Context.Device.Model = dte.Edition; _telemetry.InstrumentationKey = telemetryKey; _telemetry.Context.Component.Version = version; byte[] enc = Encoding.UTF8.GetBytes(Environment.UserName + Environment.MachineName); using (var crypto = new MD5CryptoServiceProvider()) { byte[] hash = crypto.ComputeHash(enc); _telemetry.Context.User.Id = Convert.ToBase64String(hash); } _events = dte.Events.DTEEvents; _events.OnBeginShutdown += delegate { _telemetry.Flush(); }; Enabled = true; }
/// <summary> /// 处理确定按钮点击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btConfirm_Click(object sender, EventArgs e) { Admin admin = new Admin(); MD5CryptoServiceProvider HashMD5 = new MD5CryptoServiceProvider(); string oldPwd = ASCIIEncoding.ASCII.GetString(HashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(tbOldPwd.Text))); string newPwd1 = ASCIIEncoding.ASCII.GetString(HashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(tbNewPwd1.Text))); string newPwd2 = ASCIIEncoding.ASCII.GetString(HashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(tdNewPwd2.Text))); if (admin.ChangePassword(Session["UserName"].ToString(), oldPwd, newPwd1, newPwd2)) { //胡媛媛修改,修改跳转语句的位置,2010-01-15 Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", "<script>alert('修改成功!');window.location='./index.aspx'</script>"); //Response.Redirect("./index.aspx"); //胡媛媛修改,修改跳转语句的位置,2010-01-15 } else { Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", "<script>alert('对不起,您修改密码失败,原因可能是您输入的原密码不正确或是两次输入的新密码不一致!')</script>"); } }
// Handling adding new staff member button click protected void BAddStaff_Click(object sender, EventArgs e) { // Collecting data String pass = TBPassword.Text; String passRep = TBPasswordRep.Text; String email = TBEmail.Text; // Checking email is unique if (!DBConnectivity.checkEmailUnique(email)) { displayErrorMessage("Member with this email is already registered."); return; } // Checking passwords are same if (pass != passRep) { displayErrorMessage("Passwords are not the same. Please try again."); return; } // Checking if access level was selected if (DDLAccess.SelectedValue == "0") { displayErrorMessage("Please select access level."); return; } // Hashing password MD5 md5 = new MD5CryptoServiceProvider(); md5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(pass)); pass = Convert.ToBase64String(md5.Hash); // Collecting data string[,] staffData = new string[5, 2] { { "first_name", TBFirstName.Text }, { "last_name", TBLastName.Text }, { "email", email }, { "password", pass }, { "access", DDLAccess.SelectedValue }, }; // Adding new spieces to database Boolean added = DBConnectivity.addStaff(staffData); // Checking if record was added if (added) { displaySuccessMessage("Staff member was added successfully"); // Reloading GridView loadGridLast(); } else { displayErrorMessage("Error adding member. Please try again."); } // Reseting form resetForm(); }
public static Dictionary<string, string> GetMd5Values(string platformPath) { var dicFileMd5 = new Dictionary<string, string>(); var md5Generator = new MD5CryptoServiceProvider(); //var dir = Path.Combine(Application.dataPath, "AssetBundle/" + platform); foreach (var filePath in Directory.GetFiles(platformPath)) { if (filePath.Contains(".meta") || filePath.Contains("VersionMD5") || filePath.Contains(".xml")) { continue; } var file = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); var hash = md5Generator.ComputeHash(file); var strMd5 = System.BitConverter.ToString(hash); file.Close(); string key = filePath.Substring(platformPath.Length, filePath.Length - platformPath.Length); if (dicFileMd5.ContainsKey(key) == false) dicFileMd5.Add(key, strMd5); else Debug.LogWarning("<Two File has the same name> name = " + filePath); } return dicFileMd5; }
public static string MD5(string data) { MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(data)), 4, 8); t2 = t2.Replace("-", ""); return t2; }
public string encrypt(string strChange) { byte[] pass = Encoding.UTF8.GetBytes(strChange); MD5 md5 = new MD5CryptoServiceProvider(); string strPassword = Encoding.UTF8.GetString(md5.ComputeHash(pass)); return strPassword; }
public static string MD5FromBytes(byte[] byteArray) { MD5 md5 = new MD5CryptoServiceProvider(); byte[] retVal = md5.ComputeHash(byteArray); return BitConverter.ToString(retVal).Replace("-", "").ToLower(); // hex string }
public static string Encrypt(string toEncrypt, string securityKey, bool useHashing) { byte[] keyArray; byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt); string key = securityKey; if (useHashing) { MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider(); keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key)); hashmd5.Clear(); } else keyArray = UTF8Encoding.UTF8.GetBytes(key); TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider(); tdes.Key = keyArray; tdes.Mode = CipherMode.CBC; //tdes.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = tdes.CreateEncryptor(); byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); tdes.Clear(); return Convert.ToBase64String(resultArray, 0, resultArray.Length); }
/// <summary> /// DeCrypt a string using dual encryption method. Return a DeCrypted clear string /// </summary> /// <param name="cipherString">encrypted string</param> /// <param name="useHashing">Did you use hashing to encrypt this data? pass true is yes</param> /// <returns></returns> public static string Decrypt(string cipherString, bool useHashing) { byte[] keyArray; byte[] toEncryptArray = Convert.FromBase64String(cipherString); System.Configuration.AppSettingsReader settingsReader = new AppSettingsReader(); //Get your key from config file to open the lock! string key = (string)settingsReader.GetValue("Security key", typeof(String)); if (useHashing) { MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider(); keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key)); hashmd5.Clear(); } else keyArray = UTF8Encoding.UTF8.GetBytes(key); TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider(); tdes.Key = keyArray; tdes.Mode = CipherMode.ECB; tdes.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = tdes.CreateDecryptor(); byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); tdes.Clear(); return UTF8Encoding.UTF8.GetString(resultArray); }
//md5 encrypt public static string MD5Encrypt(string toEncrypt, string securityKey, bool useHashing) { string retVal = string.Empty; try { byte[] keyArray; byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes (toEncrypt); ValidateInput (toEncrypt); ValidateInput (securityKey); if (useHashing) { MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider (); keyArray = hashmd5.ComputeHash (UTF8Encoding.UTF8.GetBytes (securityKey)); hashmd5.Clear (); } else { keyArray = UTF8Encoding.UTF8.GetBytes (securityKey); } TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider (); tdes.Key = keyArray; tdes.Mode = CipherMode.ECB; tdes.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = tdes.CreateEncryptor (); byte[] resultArray = cTransform.TransformFinalBlock (toEncryptArray, 0, toEncryptArray.Length); tdes.Clear (); retVal = Convert.ToBase64String (resultArray, 0, resultArray.Length); } catch (Exception ex) { Debug.Log (ex.Message); } return retVal; }
protected void btConfirm_Click(object sender, EventArgs e) { Admin admin = new Admin (); Search search = new Search(); TeacherInfo thisTeacher = new TeacherInfo(); thisTeacher.StrUserName=tbxUserName.Text; thisTeacher.StrTeacherName=tbxName.Text; thisTeacher.StrIdentityId=tbxIdentityNO.Text; MD5CryptoServiceProvider HashMD5 = new MD5CryptoServiceProvider(); thisTeacher.StrPassword=ASCIIEncoding.ASCII.GetString(HashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes("888888"))); string s = tbxUserName.Text; string last4userName = s.Substring(s.Length - 4, 4); string p = tbxIdentityNO.Text; string last4IdentityNO = p.Substring(p.Length - 4, 4); if (last4userName!=last4IdentityNO) { Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", "<script>alert('请确认用户名末四位与身份证号末四位相同')</script>"); } //else if (thisTeacher.StrIdentityId==search.GetTeacherByUsername(s).StrIdentityId) else if (thisTeacher.StrIdentityId == search.GetTeacherByIdentityID(p).StrIdentityId)// 武剑洁修改,2009-9-11 { Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", "<script>alert('身份证号重复,已存在该老师')</script>"); tbxIdentityNO.Text = ""; } else if (search.GetTeacherIdByUsername(thisTeacher.StrUserName) > 0)// 尚书修改,2012-8-5 { Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", "<script>alert('该用户名已存在,请更换')</script>"); tbxUserName.Text = ""; } else if (search.GetTeacherIdByName(thisTeacher.StrTeacherName) > 0)// 武剑洁修改,2012-8-5 { Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", "<script>alert('老师姓名重复,请修改姓名以区分两位老师')</script>"); tbxName.Text = ""; } else { if (admin.AddTeacher(thisTeacher)) { //Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", // "<script>alert('添加成功!')</script>"); // 武剑洁修改,添加页面跳转,2009-9-10 Response.Write("<script>alert('添加成功!');window.location='./Teacher_Manage.aspx'</script>"); } else { //Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", // "<script>alert('添加失败!')</script>"); // 武剑洁修改,添加页面跳转,2009-9-10 Response.Write("<script>alert('添加失败!');window.location='./Teacher_Manage.aspx'</script>"); } } }
protected void btnBind_Click(object sender, EventArgs e) { string email = Utility.FilteSqlInfusion(_Convert.ToDBC(this.tbEmail.Text.Trim())); string str2 = Utility.FilteSqlInfusion(_Convert.ToDBC(this.tbAnswer.Text.Trim())); if ((base._User.SecurityAnswer == "") || (base._User.SecurityQuestion == "")) { JavaScript.Alert(this.Page, "您尚未设置安全问题不能进行邮箱绑定。", "SafeSet.aspx?FromUrl=UserEmailBind.aspx"); } else if (str2 == "") { JavaScript.Alert(this.Page, "问题答案输入有误。"); } else if (str2 != base._User.SecurityAnswer) { JavaScript.Alert(this.Page, "问题答案输入有误。"); } else if (email == "") { JavaScript.Alert(this.Page, "请输入 Email 地址。"); } else if (!_String.Valid.isEmail(email)) { JavaScript.Alert(this.Page, "输入 Email 格式不正确。"); } else if ((email == base._User.Email) && base._User.isEmailValided) { this.Label1.Visible = true; this.Label1.Text = " 你的 Email 已经激活了,不需要再次激活。"; } else { string returnDescription = ""; base._User.Email = email; base._User.isEmailValided = false; if (base._User.EditByID(ref returnDescription) < 0) { PF.GoError(-1, "数据库读写错误", base.GetType().FullName); } else { string s = Encrypt.EncryptString(PF.GetCallCert(), base._User.ID.ToString() + "," + DateTime.Now.ToString() + "," + email); MD5CryptoServiceProvider provider = new MD5CryptoServiceProvider(); string str5 = BitConverter.ToString(provider.ComputeHash(Encoding.UTF8.GetBytes(s))).Replace("-", ""); s = str5.Substring(0, 0x10) + s + str5.Substring(0x10, 0x10); string str6 = Utility.GetUrl() + "/Home/Room/EmailReg.aspx?emailvalidkey=" + s; StringBuilder builder = new StringBuilder(); builder.Append("<div style='font-weight:bold;'>尊敬的" + base._Site.Name + "客户(").Append(base._User.Name).Append("):</div>").Append("<div>您好!</div>").Append("<div>系统已收到您的邮箱激活申请,请点击链接<a href='").Append(str6).Append("' target='_top'>").Append(str6).Append("</a>校验您的身份。</div>").Append("<div>为了您的安全,该邮件通知地址将在 24 小时后失效,谢谢合作。</div>").Append("<div>此邮件由系统发出,请勿直接回复!</div>").Append("<div>免费客服电话:400-811-8686</div>").Append("<div>意见收集与提交:[email protected]</div>").Append("<div>").Append(Utility.GetUrlWithoutHttp()).Append(" 版权所有(C) 2008-2009</div>"); if (PF.SendEmail(base._Site, email, base._Site.Name + "邮箱激活验证", builder.ToString()) == 0) { this.tbEmail.Enabled = false; this.Label1.Text = " 您好,系统已经发送一封验证邮件您的邮箱,请到您的信箱点击链接完成激活。"; } else { new Log("System").Write(base.GetType().FullName + "发送邮件失败"); } } } }
public static string Mahoa(string chuoi) { UTF32Encoding u = new UTF32Encoding(); byte[] b = u.GetBytes(chuoi); MD5 s = new MD5CryptoServiceProvider(); byte[] kq = s.ComputeHash(b); return Convert.ToBase64String(kq); }
private static string md5(string encrypt) { byte[] hashBytes = new MD5CryptoServiceProvider().ComputeHash(new UTF8Encoding().GetBytes(encrypt + SystemInfo.deviceUniqueIdentifier)); string hashString = ""; int len = hashBytes.Length; for (int i = 0; i < len; i++) hashString += System.Convert.ToString(hashBytes[i], 16).PadLeft(2, '0'); return hashString.PadLeft(32, '0'); }