黑马程序员技术交流社区

标题: 对字符串进行加密与解密的问题 [打印本页]

作者: mzh901024    时间: 2013-7-29 09:53
标题: 对字符串进行加密与解密的问题
本帖最后由 mzh901024 于 2013-8-10 17:55 编辑

我要对一些重要的信息进行加密然后通过解密匙解密,有木有大神指点指点
作者: 高文咪    时间: 2013-7-29 09:58
你用加密算法就行嘛~~~ MD5加密是不可逆的,你可以搜索其他可逆的算法,进行加密,然后通过密钥解密;
作者: 马晓凤    时间: 2013-7-29 11:31
通过MD加密 和 MD5 加盐  进行处理
作者: 赵宗荣    时间: 2013-7-29 15:08
MD5散列算法理论上是不可逆的。字符串加密后无法解密。
作者: 彭家贰小姐    时间: 2013-7-29 15:40
RSA加密、解密
       RSA是三个人的姓氏开头字母


aspx前台代码
  1. <body>
  2. <form id="form1" runat="server">
  3. <div>
  4. <asp:TextBox ID="txtName" runat="server" Height="50" Width="200"></asp:TextBox>
  5. <asp:Button ID="btnEncrypt" runat="server" Text="加密" OnClick="btnEncrypt_Click" />
  6. <asp:Button ID="btnDecryption" runat="server" Text="解密" OnClick="btnDecryption_Click" />
  7. <asp:TextBox ID="txtResult" runat="server" Height="50" Width="200"></asp:TextBox>
  8. </div>
  9. </form>
  10. </body>
复制代码
aspx.cs后台代码
  1. using System;
  2. using System.Security.Cryptography;
  3. using System.Text;

  4. namespace WebApplication1
  5. {
  6. public partial class WebForm1 : System.Web.UI.Page
  7. {
  8. private CspParameters param = new CspParameters();

  9. protected void Page_Load(object sender, EventArgs e)
  10. {
  11. }

  12. /// <summary>
  13. /// 加密按钮点击方法
  14. /// </summary>
  15. /// <param name="sender"></param>
  16. /// <param name="e"></param>
  17. protected void btnEncrypt_Click(object sender, EventArgs e)
  18. {
  19. param = new CspParameters();
  20. param.KeyContainerName = "gransys";//密匙容器的名称,保持加密解密一致才能解密成功
  21. using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param))
  22. {
  23. byte[] plaindata = Encoding.Default.GetBytes(txtName.Text);//将要加密的字符串转换为字节数组
  24. byte[] encryptdata = rsa.Encrypt(plaindata, false);//将加密后的字节数据转换为新的加密字节数组
  25. txtResult.Text = Convert.ToBase64String(encryptdata);//将加密后的字节数组转换为字符串
  26. }
  27. }

  28. /// <summary>
  29. /// 解密按钮点击方法
  30. /// </summary>
  31. /// <param name="sender"></param>
  32. /// <param name="e"></param>
  33. protected void btnDecryption_Click(object sender, EventArgs e)
  34. {
  35. param = new CspParameters();
  36. param.KeyContainerName = "gransys";
  37. using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param))
  38. {
  39. byte[] encryptdata = Convert.FromBase64String(this.txtName.Text);
  40. byte[] decryptdata = rsa.Decrypt(encryptdata, false);
  41. txtResult.Text = Encoding.Default.GetString(decryptdata);
  42. }
  43. }
  44. }
  45. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2