« 在ASP.Net中实现RSA加密最新推出的时间按钮,按一下可以看见... »

待解决的rsa解密问题

发布:彭涛 | 分类:学习笔记 | 评论:0 | 引用:0 | 浏览:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Security.Cryptography;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Default5 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       string STR="1";
        byte[] b,a,f,r;
        b=System.Text.Encoding.UTF8.GetBytes(STR);    
        a = RSAEncrypt(b);
        string enResult = System.Text.Encoding.UTF8.GetString(a);
        Response.Write(enResult);
        //for (int i = 0; i < a.Length; i++)
        // Response.Write(a[i]);

        f =System.Text.Encoding.UTF8.GetBytes(enResult);
        r = RSADeEncrypt(f);
        string DeEnresult = System.Text.Encoding.UTF8.GetString(r);
        Response.Write(DeEnresult);

        //for (int j = 0; j < a.Length; j++)
        //Response.Write(a[j]); 
       

    }

 
    public byte[] RSAEncrypt(byte[] b)
    {
        RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
        RSAParameters rsaParamsExcludePrivate = rsa.ExportParameters(false);  //导出公钥    
        rsa.ImportParameters(rsaParamsExcludePrivate);
        byte[] EncryptedData = rsa.Encrypt(b,false);
        return EncryptedData;

    }

  
    public byte[] RSADeEncrypt(byte[] f)
    {
        RSACryptoServiceProvider rsb = new RSACryptoServiceProvider();
        RSAParameters rsaParamsIncludePrivate = rsb.ExportParameters(true);   //导出私钥  
        rsb.ImportParameters(rsaParamsIncludePrivate);
        byte[] DeEncrypteData = rsb.Decrypt(f, false);                                                    //执行到这里就出错了,提示数据不正确!
        return DeEncrypteData;

    }
}

tagTags:jj  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。