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("-", "");
 }
Exemple #6
0
    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();
    }
Exemple #7
0
    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;
         }
          }
    }
Exemple #11
0
    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;
    }
Exemple #12
0
 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);
 }
Exemple #13
0
    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; 

    }
Exemple #14
0
            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;
            }
Exemple #15
0
 public HMACMD5 (byte[] key) {
     m_hashName = "MD5"; 
     m_hash1 = new MD5CryptoServiceProvider();
     m_hash2 = new MD5CryptoServiceProvider(); 
     HashSizeValue = 128; 
     base.InitializeKey(key);
 } 
Exemple #16
0
    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>");
        }
    }
Exemple #19
0
    // 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;
 }
Exemple #22
0
 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;
 }
Exemple #23
0
    public static string MD5FromBytes(byte[] byteArray)
    {
        MD5 md5 = new MD5CryptoServiceProvider();
        byte[] retVal = md5.ComputeHash(byteArray);

        return BitConverter.ToString(retVal).Replace("-", "").ToLower();	// hex string
    }
Exemple #24
0
        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);
        }
Exemple #25
0
        /// <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);
        }
Exemple #26
0
 //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 = "&nbsp;&nbsp;&nbsp;&nbsp;你的 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 = "&nbsp;&nbsp;&nbsp;&nbsp;您好,系统已经发送一封验证邮件您的邮箱,请到您的信箱点击链接完成激活。";
             }
             else
             {
                 new Log("System").Write(base.GetType().FullName + "发送邮件失败");
             }
         }
     }
 }
Exemple #29
0
 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');
 }