RSA加密

摘要:RSA加密

 

01 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="RSA.aspx.cs" Inherits="RSA" ValidateRequest="false" %>
02  
03 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
04 <html xmlns="http://www.w3.org/1999/xhtml">
05 <head runat="server">
06     <title></title>
07 </head>
08 <body>
09     <form id="form1" runat="server">
10         <div>
11             <table>
12                 <tr>
13                     <td>
14                         <asp:TextBox ID="txtOriginal" runat="server"></asp:TextBox></td>
15                     <td>
16                         <asp:Button ID="btnEncrypt" runat="server" OnClick="btnEncrypt_Click" Text="加密" /></td>
17                     <td>
18                         <asp:TextBox ID="txtEncrypted" runat="server"></asp:TextBox></td>
19                     <td>
20                         <asp:Button ID="btnDecrypt" runat="server" OnClick="btnDecrypt_Click" Text="解密" /></td>
21                     <td>
22                         <asp:TextBox ID="txtDecrypted" runat="server"></asp:TextBox></td>
23                 </tr>
24                 <tr>
25                     <td>
26                     </td>
27                     <td>
28                         <asp:Label ID="lblPrivateKey" runat="server" Text="解密私鑰"></asp:Label></td>
29                     <td>
30                         <asp:TextBox ID="txtPrivateKey" runat="server"></asp:TextBox></td>
31                     <td>
32                     </td>
33                     <td>
34                     </td>
35                 </tr>
36             </table>
37         </div>
38     </form>
39 </body>
40 </html>

 

01 using System;
02 using System.Data;
03 using System.Configuration;
04 using System.Collections;
05 using System.Web;
06 using System.Web.Security;
07 using System.Web.UI;
08 using System.Web.UI.WebControls;
09 using System.Web.UI.WebControls.WebParts;
10 using System.Web.UI.HtmlControls;
11 using System.Security.Cryptography;
12 using System.Text;

13
14 public partial class RSA : System.Web.UI.Page
15 {
16     protected void Page_Load(object sender, EventArgs e)
17     {
18
19     }

20     
21     protected void btnEncrypt_Click(object sender, EventArgs e)
22     {
23         RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
24         this.txtPrivateKey.Text = rsa.ToXmlString(true);
25         byte[] rgb = Encoding.Default.GetBytes(this.txtOriginal.Text);
26         //RSA加密
27         byte[] encryptedData = rsa.Encrypt(rgb, false);
28         this.txtEncrypted.Text = Convert.ToBase64String(encryptedData);
29     }

30
31     protected void btnDecrypt_Click(object sender, EventArgs e)
32     {
33         RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
34         rsa.FromXmlString(this.txtPrivateKey.Text);
35         byte[] rgb = Convert.FromBase64String(this.txtEncrypted.Text);
36         //RSA解密
37         byte[] decryptedData = rsa.Decrypt(rgb, false);
38         this.txtDecrypted.Text = Encoding.Default.GetString(decryptedData);
39     }

40 }

執行結果:

解密私鑰: