WEBFORM加密

WEBFORM加密,利用MD5和SHA

密碼加密MD5和SHA兩種

html:

<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="source" runat="server" TextMode="SingleLine"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="MD5加密" onclick="Button1_Click" /><br />
        <asp:Button ID="Button2" runat="server" Text="SHA256加密" onclick="Button2_Click" /><br />
        <asp:Button ID="Button3" runat="server" Text="SHA512加密" onclick="Button3_Click" /><br />
        <asp:label id="md5_1" runat="server"></asp:label><br />
        <asp:label id="md5_2" runat="server"></asp:label><br />        
    </div>
    </form>
</body>

cs:

//using須先加入

using System.Security.Cryptography;
using System.Text;

protected void Button1_Click(object sender, EventArgs e)
  {
  //獲取要加密的字段,並轉化為Byte[]數組
  byte[] data = System.Text.Encoding.Unicode.GetBytes(source.Text.ToCharArray());
  //建立加密服務
  System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
  //加密Byte[]數組
  byte[] result = md5.ComputeHash(data);
                
  //將加密後的數組轉化為字段
  string sResult = System.Text.Encoding.Unicode.GetString(result);
  //顯示出來
  md5_1.Text = "MD5普通加密:" + sResult.ToString() + "<br/>";
  //作為密碼方式加密
  string EnPswdStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(source.Text.ToString(), "MD5");
  //顯示出來
  md5_2.Text = "MD5密碼加密:" + EnPswdStr + "<br/>";
}

//其實兩種就是加密,密碼加密能用就是了,不過彷彿不推薦





protected void Button2_Click(object sender, EventArgs e)
{
  //獲取要加密的字段,並轉化為Byte[]數組

  byte[] data = System.Text.Encoding.Unicode.GetBytes(source.Text.ToCharArray());

  //建立一個SHA256

  SHA256 sha256 = new SHA256CryptoServiceProvider();

  //進行SHA256加密

  byte[] result = sha256.ComputeHash(data);

   //把加密後的字串從Byte[]轉為字串

  string enresult = Convert.ToBase64String(result);           

  //輸出結果

  Response.Write("SHA256加密:  " + enresult);
}

       



protected void Button3_Click(object sender, EventArgs e)
{

  //建立一個SHA512

  SHA512 sha512 = new SHA512CryptoServiceProvider();

  //進行SHA512加密

  string resultSha512 = Convert.ToBase64String(sha512.ComputeHash(Encoding.Default.GetBytes(source.Text)));

  //輸出結果

  Response.Write("SHA512加密:  " + resultSha512);
}

//SHA512好像比較厲害

 

參考來源:

1.https://dotblogs.com.tw/mrsunboss/2013/04/07/99955#MD5

2.https://www.gittprogram.com/question/1969180_asp-net-3-5-c-qing-wen-xia-qing-wen-shen-mo-jiao-zuo-md5pu-tong-jia-mi-md5mi-ma-jia-mi-han-cheng-shi-ma.html

若有不妥之處煩請告知