码迷,mamicode.com
首页 > 编程语言 > 详细

Java和C# RSA加解密相互通信和使用公钥加密传输

时间:2018-02-01 23:16:09      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:static   cto   style   coding   ide   provider   encoding   span   factor   

关于JAVA和C#加解密通讯的话,可以用这个BouncyCastle插件,会帮助你解决很多问题

http://www.bouncycastle.org/

//c#使用java给的公钥进行rsa加密
public static byte[] RSAEncrypt(string publickey, string content)
    {
        RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
        byte[] publicKeyBytes = Convert.FromBase64String(publickey);
        AsymmetricKeyParameter asymmetricKeyParameter = PublicKeyFactory.CreateKey(publicKeyBytes);
        RsaKeyParameters rsaKeyParameters = (RsaKeyParameters)asymmetricKeyParameter;
        RSAParameters rsaParameters = new RSAParameters();
        rsaParameters.Modulus = rsaKeyParameters.Modulus.ToByteArrayUnsigned();
        rsaParameters.Exponent = rsaKeyParameters.Exponent.ToByteArrayUnsigned();
        rsa.ImportParameters(rsaParameters);
        return rsa.Encrypt(Encoding.GetEncoding("gbk").GetBytes(content), false);
    }

使用方法:

string tempStr=Convert.ToBase64String(RSACoder.RSAEncrypt("公钥", "需要加密码的字符"))

普通C#自身调用加解密:

RSACryptoServiceProvider oRSA = new RSACryptoServiceProvider();
            string privatekey = oRSA.ToXmlString(true);//私钥 
            string publickey = oRSA.ToXmlString(false);//公钥 
            //这两个密钥需要保存下来 
            byte[] messagebytes = Encoding.UTF8.GetBytes("luo罗"); //需要加密的数据 

            //公钥加密 
            RSACryptoServiceProvider oRSA1 = new RSACryptoServiceProvider();
            oRSA1.FromXmlString(publickey); //加密要用到公钥所以导入公钥 
            byte[] AOutput = oRSA1.Encrypt(messagebytes, false); //AOutput 加密以后的数据 

            //私钥解密 
            RSACryptoServiceProvider oRSA2 = new RSACryptoServiceProvider();
            oRSA2.FromXmlString(privatekey);
            byte[] AInput = oRSA2.Decrypt(AOutput, false);
            string reslut = Encoding.UTF8.GetString(AInput);

 

Java和C# RSA加解密相互通信和使用公钥加密传输

标签:static   cto   style   coding   ide   provider   encoding   span   factor   

原文地址:https://www.cnblogs.com/25miao/p/8401475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!