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();
    }
    /// <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>");
        }
    }
示例#3
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);
        }
示例#4
0
    public static string MD5FromBytes(byte[] byteArray)
    {
        MD5 md5 = new MD5CryptoServiceProvider();
        byte[] retVal = md5.ComputeHash(byteArray);

        return BitConverter.ToString(retVal).Replace("-", "").ToLower();	// hex string
    }
示例#5
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 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);

        }   
示例#7
0
    /// <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;
        }
    }
示例#8
0
    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);
    }
 /// <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("-", "");
 }
示例#10
0
    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;
        }
    }
示例#11
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;
 }
示例#12
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();
    }
示例#13
0
    /// <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;
    }
 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 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 = "";
      }

   }
示例#16
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;
    }
示例#17
0
    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;
    }
示例#18
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;
 }
示例#19
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);
 }
示例#20
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; 

    }
示例#21
0
    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;
         }
          }
    }
示例#22
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;
            }
示例#23
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.";
        }
    }
示例#24
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);
        }
示例#25
0
文件: MD5.cs 项目: kavallo/E-Menu
    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 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 + "发送邮件失败");
             }
         }
     }
 }
    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>");
            }
        }
    }
示例#28
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);
 }
    protected void btConfirm_Click(object sender, EventArgs e)
    {
        Admin admin = new Admin();
        Search thisSearch = new Search();
        StudentInfo thisStudent = new StudentInfo();

        // 从界面读取学生信息
        thisStudent.StrStudentNO = tbxStuNO.Text;// 读取学号
        thisStudent.StrStudentName = tbxStuName.Text;// 姓名
        thisStudent.StrIdentityId = tbxIdentityNO.Text;// 身份证号
        MD5CryptoServiceProvider HashMD5 = new MD5CryptoServiceProvider();// 设置初始密码
        thisStudent.StrPassword = ASCIIEncoding.ASCII.GetString(HashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes("888888")));

        string stuNO=this.tbxStuNO.Text;// 获取学号

        if (Convert.ToInt32(this.DropDownList1.SelectedValue) == 0)
        {
            Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert",
                "<script>alert('请选择班级!')</script>");
            return;
        }
        ////else if (thisStudent.StrIdentityId == thisSearch.GetStudentByUsername(stuNO).StrIdentityId)
        // 武剑洁修改,2009-9-11
        else if (thisSearch.GetStudentIdByUsername(tbxStuNO.Text) > 0)
        {// 用户名重复,则禁止添加新用户
            Response.Write("<script>alert('用户名重复,该同学已存在!')</script>");
            tbxStuNO.Text = "";// 清空输入
            return;
        }
        else if (thisSearch.GetStudentIdByIdentityID(tbxIdentityNO.Text) > 0)
        {// 身份证号重复,则禁止添加新用户
            Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert","<script>alert('身份证号重复,该同学已经存在!')</script>");
            tbxIdentityNO.Text = "";// 清空输入
            return;
        }

        thisStudent.StrStudentNO=this.tbxStuNO.Text;
        thisStudent.StrStudentName=this.tbxStuName.Text;
        thisStudent.StrIdentityId=this.tbxIdentityNO.Text;
        thisStudent.ClassName = this.DropDownList1.SelectedItem.Text;
        HashMD5 = new MD5CryptoServiceProvider();
        thisStudent.StrPassword = ASCIIEncoding.ASCII.GetString(HashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes("888888")));

         if (admin.AddStudent(thisStudent))
        {
            //Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert",
            //    "<script>alert('添加成功!')</script>");
            // 武剑洁修改,添加页面跳转,2009-9-10
            Response.Write("<script>alert('添加成功!');window.location='./Student_Manage.aspx'</script>");
        }
        else
        {
            //Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert",
            //    "<script>alert('添加失败!')</script>");
            // 武剑洁修改,添加页面跳转,2009-9-10
            Response.Write("<script>alert('添加成功!');window.location='./Student_Manage.aspx'</script>");
        }
    }
示例#30
0
 public static string HashMD5(string phrase)
 {
     if (phrase == null)
         return null;
     var encoder = new UTF8Encoding();
     var md5Hasher = new MD5CryptoServiceProvider();
     var hashedDataBytes = md5Hasher.ComputeHash(encoder.GetBytes(phrase));
     return ByteArrayToHexString(hashedDataBytes);
 }
示例#31
0
 public static string MD5_Encrypt(string strToEncrypt, 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          = ASCIIEncoding.ASCII.GetBytes(strToEncrypt);
         return(Convert.ToBase64String(objDESCrypto.CreateEncryptor().
                                       TransformFinalBlock(byteBuff, 0, byteBuff.Length)));
     }
     catch (Exception ex)
     {
         return("Wrong Input. " + ex.Message);
     }
 }
示例#32
0
        /// <summary>
        /// Decrypts a Byte array from DES with an Encryption Key.
        /// </summary>
        /// <param name="DecryptBuffer"></param>
        /// <param name="EncryptionKey"></param>
        /// <returns></returns>
        public static byte[] DecryptBytes(byte[] DecryptBuffer, string EncryptionKey)
        {
            if (DecryptBuffer == null || DecryptBuffer.Length == 0)
            {
                return(null);
            }

            if (EncryptionKey == null)
            {
                EncryptionKey = Key;
            }

            TripleDESCryptoServiceProvider des     = new TripleDESCryptoServiceProvider();
            MD5CryptoServiceProvider       hashmd5 = new MD5CryptoServiceProvider();

            des.Key  = hashmd5.ComputeHash(Encoding.ASCII.GetBytes(EncryptionKey));
            des.Mode = CipherMode.ECB;

            ICryptoTransform Transform = des.CreateDecryptor();

            return(Transform.TransformFinalBlock(DecryptBuffer, 0, DecryptBuffer.Length));
        }
示例#33
0
        public async Task <AuthenticationResponse> AuthenticateAsync(AuthenticationRequest model)
        {
            var context = new DropTopContext();

            MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();

            Byte[]       hashedPassword;
            UTF8Encoding encoder = new UTF8Encoding();

            hashedPassword = md5Hasher.ComputeHash(encoder.GetBytes(model.Password));

            var user = await context.User.Where(u => u.Email == model.Email && u.Password == hashedPassword).FirstOrDefaultAsync();

            if (user == null)
            {
                return(null);
            }

            var token = GenerateJwtToken(user);

            return(new AuthenticationResponse(user, token));
        }
        public static string EncryptString(string Message, string Passphrase)
        {
            byte[] Results;
            System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();

            // Step 1. We hash the passphrase using MD5
            // We use the MD5 hash generator as the result is a 128 bit byte array
            // which is a valid length for the TripleDES encoder we use below
            MD5CryptoServiceProvider HashProvider = new MD5CryptoServiceProvider();

            byte[] TDESKey = HashProvider.ComputeHash(UTF8.GetBytes(Passphrase));

            // Step 2. Create a new TripleDESCryptoServiceProvider object
            TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider();

            // Step 3. Setup the encoder
            TDESAlgorithm.Key     = TDESKey;
            TDESAlgorithm.Mode    = CipherMode.ECB;
            TDESAlgorithm.Padding = PaddingMode.PKCS7;

            // Step 4. Convert the input string to a byte[]
            byte[] DataToEncrypt = UTF8.GetBytes(Message);

            // Step 5. Attempt to encrypt the string
            try
            {
                ICryptoTransform Encryptor = TDESAlgorithm.CreateEncryptor();
                Results = Encryptor.TransformFinalBlock(DataToEncrypt, 0, DataToEncrypt.Length);
            }
            finally
            {
                // Clear the TripleDes and Hashprovider services of any sensitive information
                TDESAlgorithm.Clear();
                HashProvider.Clear();
            }

            // Step 6. Return the encrypted string as a base64 encoded string
            return(Convert.ToBase64String(Results));
        }
示例#35
0
        public static string MD5(string input, int len = 32)
        {
            var enPswStr = "";

            //将要加密的字符串转化为byte类型
            byte[] data = System.Text.Encoding.Unicode.GetBytes(input.ToCharArray());

            //创建一个Md5对象
            var md5 = new MD5CryptoServiceProvider();

            if (len == 16)
            {
                enPswStr = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(input)), 4, 8);
                enPswStr = enPswStr.Replace("-", "");
            }
            else
            {
                enPswStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(input, "MD5");
            }

            return(enPswStr);
        }
示例#36
0
        static void Main(string[] args)
        {
            // encode message as a byte array
            var messageBytes = Encoding.Unicode.GetBytes("TEST");

            // calculate the hash
            byte[] hashBytes;
            using (var md5 = new MD5CryptoServiceProvider())
            {
                hashBytes = md5.ComputeHash(messageBytes);
                md5.Clear();
            }

            // output as a hex string
            for (int i = 0; i < hashBytes.Length; i++)
            {
                Console.Write(hashBytes[i].ToString("x2"));
            }
            // OUTPUT: 70659f64a0d9277bb3d15f5215ba50ab

            Console.ReadKey();
        }
示例#37
0
        /// <summary>
        ///     获取文件Md5
        /// </summary>
        /// <param name="fileName">文件路径</param>
        /// <returns></returns>
        public static string GetMD5HashFromFile(string fileName)
        {
            try
            {
                var file   = new FileStream(fileName, FileMode.Open);
                MD5 md5    = new MD5CryptoServiceProvider();
                var retVal = md5.ComputeHash(file);
                file.Close();

                var sb = new StringBuilder();
                foreach (var t in retVal)
                {
                    sb.Append(t.ToString("x2"));
                }

                return(sb.ToString());
            }
            catch (Exception ex)
            {
                throw new Exception("GetMD5HashFromFile() fail, error:" + ex.Message);
            }
        }
示例#38
0
        /// <summary>
        /// This is take a string and returns encrypted string.
        /// </summary>
        /// <param name="toEncrypt"></param>
        /// <returns></returns>
        public static string Encrypt(string toEncrypt)
        {
            byte[] keyArray;
            byte[] toEncryptArray            = UTF8Encoding.UTF8.GetBytes(toEncrypt);
            MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();

            keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes("AIHYDCOMCPU2016"));
            hashmd5.Clear();

            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));
        }
示例#39
0
        public static string MD5Hash(string text)
        {
            MD5 md5 = new MD5CryptoServiceProvider();

            //compute hash from the bytes of text

            md5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(text));

            //get hash result after compute it
            byte[] result = md5.Hash;

            StringBuilder strBuilder = new StringBuilder();

            for (int i = 0; i < result.Length; i++)
            {
                //change it into 2 hexadecimal digits
                //for each byte
                strBuilder.Append(result[i].ToString("x2"));
            }

            return(strBuilder.ToString());
        }
示例#40
0
        /// <summary>
        /// Md5加密
        /// </summary>
        /// <param name="value">值</param>
        /// <param name="encoding">字符编码</param>
        /// <param name="startIndex">开始索引</param>
        /// <param name="length">长度</param>
        /// <returns></returns>
        private static string Md5(string value, Encoding encoding, int?startIndex, int?length)
        {
            if (string.IsNullOrWhiteSpace(value))
            {
                return(string.Empty);
            }
            var    md5 = new MD5CryptoServiceProvider();
            string result;

            try
            {
                var hash = md5.ComputeHash(encoding.GetBytes(value));
                result = startIndex == null
                    ? BitConverter.ToString(hash)
                    : BitConverter.ToString(hash, startIndex.SafeValue(), length.SafeValue());
            }
            finally
            {
                md5.Clear();
            }
            return(result.Replace("-", ""));
        }
示例#41
0
        public static string Encrypt(string toEncrypt, bool useHashing = false)
        {
            //https://www.codeproject.com/Articles/14150/Encrypt-and-Decrypt-Data-with-C

            byte[] keyArray;
            var    toEncryptArray = Encoding.UTF8.GetBytes(toEncrypt);

            var key = FingerPrint.Value();

            if (useHashing)
            {
                var hashmd5 = new MD5CryptoServiceProvider();
                keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes(key));

                hashmd5.Clear();
            }
            else
            {
                keyArray = Encoding.UTF8.GetBytes(key);
            }

            var tdes = new TripleDESCryptoServiceProvider
            {
                Key     = keyArray,
                Mode    = CipherMode.ECB,
                Padding = PaddingMode.PKCS7
            };

            var cTransform = tdes.CreateEncryptor();

            var resultArray =
                cTransform.TransformFinalBlock(toEncryptArray, 0,
                                               toEncryptArray.Length);

            tdes.Clear();

            return(Convert.ToBase64String(resultArray, 0, resultArray.Length));
        }
示例#42
0
        public int LOGIN(string name, string password, string MWRI)
        {
            byte[] result = Encoding.Default.GetBytes(password);    //tbPass为输入密码的文本框
            MD5    md5    = new MD5CryptoServiceProvider();

            byte[] output = md5.ComputeHash(result);
            password = BitConverter.ToString(output).Replace("-", "");  //tbMd5pass为输出加密文本的文本框
            //password = UserMd5(password);
            string sql = "SELECT * FROM HG_STAFF WHERE STAFFUSER=@STAFFUSER AND PWMD5=@PWMD5 AND ISACTIVENEW = '1'";

            SqlParameter[] paras =
            {
                new SqlParameter("@STAFFUSER", name),
                new SqlParameter("@PWMD5",     password)
            };
            DataTable dt = DBHelper.GetDataSet(CommandType.Text, sql, paras);

            if (dt.Rows.Count == 0)
            {
                return(1);
            }
            sql = "select * from FK_MWQX where MWRI=@MWRI and STAFFID=@STAFFID";
            SqlParameter[] paras1 =
            {
                new SqlParameter("@MWRI",    MWRI),
                new SqlParameter("@STAFFID", dt.Rows[0]["STAFFID"].ToString())
            };
            DataTable dt1 = DBHelper.GetDataSet(CommandType.Text, sql, paras1);

            if (dt1.Rows.Count > 0)
            {
                return(0);
            }
            else
            {
                return(2);
            }
        }
示例#43
0
        public string Decrypt(string cipherString, bool useHashing)
        {
            try
            {
                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 = "NYXSYSSOFT";

                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));
            }
            catch (Exception)
            {
                return(cipherString);
            }
        }
示例#44
0
        /// <summary>
        /// 이중 암호화 방법을 사용하여 암호화된 문자열의 암호화를 해제합니다.
        /// </summary>
        /// <param name="cipherString">암호화 된 문자열</param>
        /// <param name="useHashing">이 데이터를 암호화하기 위해 해싱을 사용했습니까? true or false를 설정합니다.</param>
        public string Decrypt(string cipherString, bool useHashing)
        {
            byte[] keyArray;
            byte[] toEncryptArray = Convert.FromBase64String(cipherString);

            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 = new byte[toEncryptArray.Length];

            try
            {
                resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
            }
            catch
            {
                resultArray = new byte[0];  // 잘못된 암호화 데이터가 들어가 있을경우 강제로 값 할당
            }

            tdes.Clear();
            return(UTF8Encoding.UTF8.GetString(resultArray));
        }
示例#45
0
        void TextBox1TextChanged(object sender, EventArgs e)
        {
            if (btnString.Checked)
            {
                try
                {
                    btnFile.Checked      = false;
                    txtFileName.ReadOnly = true;
                    txtFileName.Text     = "";
                    // Create a new instance of the MD5CryptoServiceProvider object.
                    MD5CryptoServiceProvider  md5    = new MD5CryptoServiceProvider();
                    SHA1CryptoServiceProvider sha1   = new SHA1CryptoServiceProvider();
                    SHA256Managed             sha256 = new SHA256Managed();
                    SHA384Managed             sha384 = new SHA384Managed();
                    SHA512Managed             sha512 = new SHA512Managed();

                    // Convert the input string to a byte array and compute the hash.
                    byte[] dataMd5    = md5.ComputeHash(Encoding.Default.GetBytes(txtString.Text));
                    byte[] dataSha1   = sha1.ComputeHash(Encoding.Default.GetBytes(txtString.Text));
                    byte[] dataSha256 = sha256.ComputeHash(Encoding.Default.GetBytes(txtString.Text));
                    byte[] dataSha384 = sha384.ComputeHash(Encoding.Default.GetBytes(txtString.Text));
                    byte[] dataSha512 = sha512.ComputeHash(Encoding.Default.GetBytes(txtString.Text));

                    txtMD5.Text    = FileHasher.GetHash(dataMd5);
                    txtSHA1.Text   = FileHasher.GetHash(dataSha1);
                    txtSHA256.Text = FileHasher.GetHash(dataSha256);
                    txtSHA384.Text = FileHasher.GetHash(dataSha384);
                    txtSHA512.Text = FileHasher.GetHash(dataSha512);
                }

                catch (Exception)
                {
                    MessageBox.Show("Error");
                }
            }

            ;
        }
示例#46
0
        /// ************************************************************************************
        /// Nombre          : Encriptar
        /// Descripción     : Metodo que encriptara texto.
        /// Parámetros      : Texto, texto que encriptara
        /// Usuario Creo    :
        /// Fecha Creó      : 
        /// Usuario Modifico:
        /// Fecha Modifico  :
        /// ***********************************************************************************
        public static string Encriptar(String Texto)
        {
            TripleDESCryptoServiceProvider Encriptador = new TripleDESCryptoServiceProvider();
            ICryptoTransform Criptografia;
            MD5CryptoServiceProvider Hash_Md5 = new MD5CryptoServiceProvider();//   se utilizan las clases de encriptación provistas por el Framework  Algoritmo MD5
            byte[] Arreglo_Llave; //    arreglo de bytes donde guardaremos la llave 
            byte[] Arreglo_A_Cifrar;//  arreglo de bytes donde guardaremos el texto que vamos a encriptar
            byte[] Arreglo_Resultante;//  arreglo de bytes donde se guarda la cadena cifrada 

            try
            {
                //   
                Arreglo_Llave = Hash_Md5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
                Hash_Md5.Clear();

                //  se guarda la llave para que se le realice hashing 
                //  Algoritmo 3DAS 
                Encriptador.Key = Arreglo_Llave;
                Encriptador.Mode = CipherMode.ECB;
                Encriptador.Padding = PaddingMode.PKCS7;

                //  se empieza con la transformación de la cadena 
                Criptografia = Encriptador.CreateEncryptor();
                Arreglo_A_Cifrar = UTF8Encoding.UTF8.GetBytes(Texto);

                Arreglo_Resultante = Criptografia.TransformFinalBlock(Arreglo_A_Cifrar, 0, Arreglo_A_Cifrar.Length);
                Encriptador.Clear();

                //  se regresa el resultado en forma de una cadena 
                return Convert.ToBase64String(Arreglo_Resultante, 0, Arreglo_Resultante.Length);
            }
            catch (Exception Ex)
            {
                throw new Exception(Ex.ToString());
            }


        }
示例#47
0
        /// <summary>
        /// 获取本计算机唯一的机器码
        /// </summary>
        /// <returns>字符串形式的机器码</returns>
        public static string GetInfo()
        {
            string unique = "";
            // 获取处理器信息
            ManagementClass            cimobject = new ManagementClass("Win32_Processor");
            ManagementObjectCollection moc       = cimobject.GetInstances();

            foreach (ManagementObject mo in moc)
            {
                unique += mo.Properties["ProcessorId"].Value.ToString();
            }
            // 获取硬盘ID
            ManagementClass            cimobject1 = new ManagementClass("Win32_DiskDrive");
            ManagementObjectCollection moc1       = cimobject1.GetInstances();

            foreach (ManagementObject mo in moc1)
            {
                unique += (string)mo.Properties["Model"].Value;
                break;
            }

            // 获取BIOS
            ManagementObjectSearcher searcher =
                new ManagementObjectSearcher("Select SerialNumber From Win32_BIOS");
            ManagementObjectCollection moc2 = searcher.Get();

            if (moc2.Count > 0)
            {
                foreach (ManagementObject share in moc2)
                {
                    unique += share["SerialNumber"].ToString();
                }
            }

            MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();

            return(ByteToHexString(md5.ComputeHash(Encoding.Unicode.GetBytes(unique)), (char)0).Substring(0, 25));
        }
示例#48
0
        /// <summary>
        /// Desencripta una cadena codificada con el algoritmo de brinks
        /// </summary>
        /// <param name="value">valor a desencriptar</param>
        /// <param name="Key">llave de encriptacion</param>
        /// <returns>cadena desencriptada</returns>
        public static string Decode(this string value, string Key)
        {
            try
            {
                var decode     = string.Empty;
                var inputBytes = Convert.FromBase64String(value);
                using (var desCrypto = new TripleDESCryptoServiceProvider())
                    using (var md5 = new MD5CryptoServiceProvider())
                    {
                        var cyphMode = CipherMode.ECB;

                        desCrypto.Key  = md5.ComputeHash(Encoding.ASCII.GetBytes(Key));
                        desCrypto.Mode = cyphMode;

                        desCrypto.IV = Encoding.ASCII.GetBytes(Key);

                        using (var memoryStream = new MemoryStream(inputBytes))
                        {
                            var desencriptor = new CryptoStream(memoryStream, desCrypto.CreateDecryptor(), CryptoStreamMode.Read);
                            var buffer       = new byte[inputBytes.Length];
                            desencriptor.Read(buffer, 0, buffer.Length);

                            decode = Encoding.ASCII.GetString(buffer);

                            if (!string.IsNullOrEmpty(decode))
                            {
                                decode = decode.Replace("\0", string.Empty);
                            }
                        }
                    }

                return(decode);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#49
0
    string gethash_MD5(string s)
    {
        byte[] bt   = Encoding.ASCII.GetBytes(s);
        MD5    hash = new MD5CryptoServiceProvider();

        byte[] hashbyte = hash.ComputeHash(bt);
        string hashcode = "";

        for (int i = 0; i < hashbyte.Length; i++)
        {
            byte b  = hashbyte[i];
            int  n  = (int)b;
            int  n1 = n & 15;
            int  n2 = (n >> 4) & 15;
            if (n2 > 9)
            {
                hashcode += ((char)(n2 - 10 + (int)'A')).ToString();
            }
            else
            {
                hashcode += n2.ToString();
            }

            if (n1 > 9)
            {
                hashcode += ((char)(n1 - 10 + (int)'A')).ToString();
            }
            else
            {
                hashcode += n1.ToString();
            }
            if ((i + 1) != hashbyte.Length && (i + 1) % 2 == 0)
            {
                hashcode += "-";
            }
        }
        return(hashcode);
    }
示例#50
0
        /// <summary>
        /// This Method is used to Encrypt the data using MD5 Algorithm
        /// This method required for sending password to money booker
        /// </summary>
        /// <param name="textTobeEncrypted">What text we want to encrypt</param>
        /// <returns>it return the string value</returns>
        public static string Encrypt_MD5(string textTobeEncrypted)
        {
            MD5CryptoServiceProvider hasher  = null;
            UTF8Encoding             encoder = null;

            try
            {
                ////Instantiate MD5CryptoServiceProvider
                hasher = new MD5CryptoServiceProvider();

                encoder = new UTF8Encoding();

                ////convert a text into bytes using Getbyte() and compute hash (encoded password)
                byte[] hashedBytes = hasher.ComputeHash(encoder.GetBytes(textTobeEncrypted));

                ////Convert encoded bytes back to a 'readable' string
                string encryptedData = BitConverter.ToString(hashedBytes);

                ////removing all "-" from string.
                encryptedData = encryptedData.Replace("-", string.Empty).Trim();

                ////returning a encrypted string.
                return(encryptedData);
            }
            catch
            {
                throw;
            }
            finally
            {
                if (hasher != null)
                {
                    hasher.Dispose();
                }

                encoder = null;
            }
        }
示例#51
0
    /// <summary>
    /// Decrypt password text
    /// </summary>
    /// <param name="stringToDecrypt">string to decrypt</param>
    /// <returns>decrypted string</returns>
    public static string DecryptPassword(string stringToDecrypt)
    {
        //stringToDecrypt.Replace("%3d", "=");

        TripleDESCryptoServiceProvider des;
        MD5CryptoServiceProvider       hashmd5;

        byte[] bytPwdhash, bytBuff;
        string decrypted = "";

        stringToDecrypt = stringToDecrypt.Replace(" ", "+");
        //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();
        bytPwdhash = hashmd5.ComputeHash(ASCIIEncoding.ASCII.GetBytes("EncryptDecrypt"));
        hashmd5    = null;

        //implement DES3 encryption
        des = new TripleDESCryptoServiceProvider();

        //the key is the secret password hash.
        des.Key = bytPwdhash;

        des.Mode = CipherMode.ECB;     //CBC, CFB

        //----- decrypt an encrypted string ------------

        bytBuff = Convert.FromBase64String(stringToDecrypt);

        //decrypt DES 3 encrypted byte buffer and return ASCII string
        decrypted = ASCIIEncoding.ASCII.GetString(des.CreateDecryptor().TransformFinalBlock(bytBuff, 0, bytBuff.Length));

        //cleanup
        des = null;

        return(decrypted);
    }
        /// <summary>
        /// Decrypts a string passed in.
        /// </summary>
        /// <param name="stringToDecrypt">String that needs to be deciphered.</param>
        /// <param name="Password">Code to unlock this password.</param>
        /// <returns></returns>
        public static string DecryptString(string stringToDecrypt, string password)
        {
            // initial value
            string decryptedString = null;

            try
            {
                TripleDESCryptoServiceProvider des;
                MD5CryptoServiceProvider       hashmd5;
                byte[] pwdhash;
                byte[] buff;

                hashmd5 = new MD5CryptoServiceProvider();
                pwdhash = hashmd5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(password));
                hashmd5 = null;

                //implement DES3 encryption
                des = new TripleDESCryptoServiceProvider();

                //the key is the secret password hash.
                des.Key = pwdhash;

                // Electronic Code Book Cipher
                des.Mode = CipherMode.ECB;     //CBC, CFB

                // Decrypt String
                buff = Convert.FromBase64String(stringToDecrypt);

                //decrypt DES 3 encrypted byte buffer and return ASCII string
                decryptedString = ASCIIEncoding.ASCII.GetString(des.CreateDecryptor().TransformFinalBlock(buff, 0, buff.Length));
            }
            catch
            {
            }

            // Return Value
            return(decryptedString);
        }
示例#53
0
    public static string DecryptString(string Message, string Passphrase)
    {
        byte[] Results;
        System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();

        // Step 1. Bam chuoi su dung MD5

        MD5CryptoServiceProvider HashProvider = new MD5CryptoServiceProvider();

        byte[] TDESKey = HashProvider.ComputeHash(UTF8.GetBytes(Passphrase));

        // Step 2. Tao doi tuong TripleDESCryptoServiceProvider moi
        TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider();

        // Step 3. Cai dat bo giai ma
        TDESAlgorithm.Key     = TDESKey;
        TDESAlgorithm.Mode    = CipherMode.ECB;
        TDESAlgorithm.Padding = PaddingMode.PKCS7;

        // Step 4. Convert chuoi (Message) thanh dang byte[]
        byte[] DataToDecrypt = Convert.FromBase64String(Message);

        // Step 5. Bat dau giai ma chuoi
        try
        {
            ICryptoTransform Decryptor = TDESAlgorithm.CreateDecryptor();
            Results = Decryptor.TransformFinalBlock(DataToDecrypt, 0, DataToDecrypt.Length);
        }
        finally
        {
            // Xoa moi thong tin ve Triple DES va HashProvider de dam bao an toan
            TDESAlgorithm.Clear();
            HashProvider.Clear();
        }

        // Step 6. Tra ve ket qua bang dinh dang UTF8
        return(UTF8.GetString(Results));
    }
示例#54
0
        public static string DecryptString(string mensagem, string senha)//parte de descriptografia;
        {
            byte[] results;
            System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();

            // Calculamos o hash da senha usando MD5 (Mesmos processos feitos para a cryptografia)

            MD5CryptoServiceProvider hashProvider = new MD5CryptoServiceProvider();

            byte[] tDESKey = hashProvider.ComputeHash(UTF8.GetBytes(senha));

            // Criando outro objeto new TripleDESCryptoServiceProvider
            TripleDESCryptoServiceProvider tDESAlgorithm = new TripleDESCryptoServiceProvider();

            // Mais uma vez configuando o codificador, atenção! cuidado com os nomes
            tDESAlgorithm.Key     = tDESKey;
            tDESAlgorithm.Mode    = CipherMode.ECB;
            tDESAlgorithm.Padding = PaddingMode.PKCS7;
            // Convertendo a seqüência de entrada para um byte []
            byte[] dataToDecrypt = Convert.FromBase64String(mensagem);
            // Tentativa para criptografar a seqüência de caracteres
            try
            {   //aqui começa começa a diferendo entre os dois processos, no primeiro, era criado o TDESAlgorithm.CreateEncryptor
                // ja nesta parte fazemos o contrario, criamos o tDES...Decryptor;
                ICryptoTransform Decryptor = tDESAlgorithm.CreateDecryptor();
                //jogamos o resultado na variavel results, mas os dados ainda não estão usaveis.
                results = Decryptor.TransformFinalBlock(dataToDecrypt, 0, dataToDecrypt.Length);
            }
            finally
            {
                // Limpado novamente o tripleDES e serviços hashProvider de qualquer informação sensível
                tDESAlgorithm.Clear();
                hashProvider.Clear();
            }

            // agora Encodamos a seqüência criptografada como uma string base64 codificada, agora sim, os dados estão ultilizaveis.
            return(UTF8.GetString(results));
        }
示例#55
0
        public string EncryptString(string matkhau, string tukhoa)
        {
            byte[] Results;
            System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();

            // Buoc 1: Bam chuoi su dung MD5

            MD5CryptoServiceProvider HashProvider = new MD5CryptoServiceProvider();

            byte[] TDESKey = HashProvider.ComputeHash(UTF8.GetBytes(tukhoa));

            // Step 2. Tao doi tuong TripleDESCryptoServiceProvider moi
            TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider();

            // Step 3. Cai dat bo ma hoa
            TDESAlgorithm.Key     = TDESKey;
            TDESAlgorithm.Mode    = CipherMode.ECB;
            TDESAlgorithm.Padding = PaddingMode.PKCS7;

            // Step 4. Convert chuoi (Message) thanh dang byte[]
            byte[] DataToEncrypt = UTF8.GetBytes(matkhau);

            // Step 5. Ma hoa chuoi
            try
            {
                ICryptoTransform Encryptor = TDESAlgorithm.CreateEncryptor();
                Results = Encryptor.TransformFinalBlock(DataToEncrypt, 0, DataToEncrypt.Length);
            }
            finally
            {
                // Xoa moi thong tin ve Triple DES va HashProvider de dam bao an toan
                TDESAlgorithm.Clear();
                HashProvider.Clear();
            }

            // Step 6. Tra ve chuoi da ma hoa bang thuat toan Base64
            return(Convert.ToBase64String(Results));
        }
        public string AddQuantri(NguoiDung position)
        {
            NguoiDung       nd = (NguoiDung)Session["Taikhoan"];
            List <Rel_CV_Q> re = db.Rel_CV_Qs.OrderBy(n => n.IdChucVu).Where(n => n.IdChucVu == nd.IdChucVu).ToList();

            foreach (var a in re)
            {
                if (nd != null && a.Quyen.MoTa == "tqtv")
                {
                    string pass = "******";
                    MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();

                    byte[] bHash = md5.ComputeHash(Encoding.UTF8.GetBytes(pass));

                    StringBuilder sbHash = new StringBuilder();

                    foreach (byte b in bHash)
                    {
                        sbHash.Append(String.Format("{0:x2}", b));
                    }
                    pass = sbHash.ToString();

                    try
                    {
                        position.MatKhau = pass;
                        position.XoaTam  = false;
                        db.NguoiDungs.InsertOnSubmit(position);
                        db.SubmitChanges();
                    }
                    catch (Exception ex)
                    {
                        return(ex.Message);
                    }
                    return("ok");
                }
            }
            return("Bạn không có quyền cập nhật");
        }
示例#57
0
        public static string getEncriptar(string cadena)
        {
            //arreglo de bytes donde guardaremos la llave
            byte[] keyArray;
            //arreglo de bytes donde guardaremos el texto
            //que vamos a encriptar
            byte[] Arreglo_a_Cifrar = UTF8Encoding.UTF8.GetBytes(cadena);

            //se utilizan las clases de encriptación
            //provistas por el Framework
            //Algoritmo MD5
            MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();

            //se guarda la llave para que se le realice
            //hashing
            keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));

            hashmd5.Clear();

            //Algoritmo 3DAS
            TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();

            tdes.Key     = keyArray;
            tdes.Mode    = CipherMode.ECB;
            tdes.Padding = PaddingMode.PKCS7;

            //se empieza con la transformación de la cadena
            ICryptoTransform cTransform = tdes.CreateEncryptor();

            //arreglo de bytes donde se guarda la
            //cadena cifrada
            byte[] ArrayResultado = cTransform.TransformFinalBlock(Arreglo_a_Cifrar, 0, Arreglo_a_Cifrar.Length);

            tdes.Clear();

            //se regresa el resultado en forma de una cadena
            return(Convert.ToBase64String(ArrayResultado, 0, ArrayResultado.Length));
        }
示例#58
0
        public ActionResult Refill(decimal?sum)
        {
            if (!sum.HasValue || sum.Value <= 0)
            {
                ViewBag.Error = true;
                return(View(CurrentUser));
            }

            var sDesc     = "Пополнение счета на сайте знакомств CityLove";
            var sOutSum   = sum.Value.ToString("F", new System.Globalization.CultureInfo("en-US"));
            var sShpItem  = "2";
            var sCulture  = "ru";
            var sEncoding = "utf-8";

            var transaction = new MoneyTransaction()
            {
                Date        = DateTime.Now,
                Status      = 0,
                Sum         = sum.Value,
                UserID      = CurrentUser.ID,
                Description = "Пополнение счета"
            };

            DB.MoneyTransactions.InsertOnSubmit(transaction);
            DB.SubmitChanges();
            var nInvId   = transaction.ID;
            var sCrcBase = string.Format("{0}:{1}:{2}:{3}" /*:shpItem={4}*/, Config.RoboLogin, sOutSum, nInvId, Config.RoboPass1 /*, sShpItem*/);

            var md5  = new MD5CryptoServiceProvider();
            var buf  = md5.ComputeHash(Encoding.ASCII.GetBytes(sCrcBase));
            var sCrc = buf.Select(b => string.Format("{0:x2}", b)).Aggregate((acc, el) => acc + el);

            string url = HttpUtility.UrlPathEncode(Config.RoboServer + "?" + "MrchLogin="******"&OutSum=" + sOutSum + "&InvId=" + nInvId + "&SignatureValue=" +
                                                   sCrc + "&Desc=" + sDesc);

            return(Redirect(url));
        }
示例#59
0
        //DESENCRIPTA CONTRASEÑA
        public string DecryptKey(string clave)
        {
            byte[] keyArray;

            //convierte el texto en una secuencia de bytes

            byte[] Array_a_Descifrar = Convert.FromBase64String(clave);

            //se llama a las clases que tienen los algoritmos

            //de encriptación se le aplica hashing

            //algoritmo MD5

            MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();

            keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));

            hashmd5.Clear();

            TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();

            tdes.Key = keyArray;

            tdes.Mode = CipherMode.ECB;

            tdes.Padding = PaddingMode.PKCS7;

            ICryptoTransform cTransform = tdes.CreateDecryptor();

            byte[] resultArray = cTransform.TransformFinalBlock(Array_a_Descifrar, 0, Array_a_Descifrar.Length);

            tdes.Clear();

            //se regresa en forma de cadena

            return(UTF8Encoding.UTF8.GetString(resultArray));
        }
示例#60
0
        // mã hóa dữ liệu MD5
        public static string Encrypt(string toEncrypt)
        {
            bool useHashing = true;              //biến sử dụng băm

            byte[] keyArray;                     //mãng key
            //trả về mảng byte của chuỗi
            byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);

            if (useHashing)         //xác nhận băm để khởi tạo
            //Tính toán giá trị băm MD5 cho dữ liệu đầu vào bằng cách sử dụng triển khai do nhà cung cấp dịch vụ mật mã (CSP) cung cấp.
            //Lớp này không thể được thừa kế.
            {
                MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
                //Tính toán giá trị băm cho dữ liệu đầu vào
                keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
            }
            else
            {
                keyArray = UTF8Encoding.UTF8.GetBytes(key);
            }
            //Xác định đối tượng trình bao bọc để truy cập phiên bản nhà cung cấp dịch vụ mật mã (CSP) của thuật toán TripleDES. Lớp này không thể được thừa kế.
            TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();

            tdes.Key  = keyArray;
            tdes.Mode = CipherMode.ECB;            //Chỉ định chế độ mật mã khối để sử dụng cho mã hóa.
            //The Electronic Codebook (ECB)Bất kỳ khối văn bản thuần túy nào giống hệt nhau và trong cùng một thông điệp,
            //hoặc trong một thông điệp khác được mã hóa bằng cùng một khóa, sẽ được chuyển đổi thành các khối văn bản mật mã giống hệt nhau
            //Chỉ định loại đệm sẽ áp dụng khi khối dữ liệu thông báo ngắn hơn số byte đầy đủ cần thiết cho một hoạt động mật mã
            //Chuỗi đệm PKCS # 7 bao gồm một chuỗi các byte, mỗi byte bằng tổng số byte đệm được thêm vào.
            tdes.Padding = PaddingMode.PKCS7;
            //Tạo một đối tượng giải mã đối xứng.
            ICryptoTransform cTransform = tdes.CreateEncryptor();

            //Biến đổi vùng được chỉ định của mảng byte được chỉ định. từ vị trí 0  đến cuối
            byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

            return(Convert.ToBase64String(resultArray, 0, resultArray.Length));
        }