Java和C# RSA加解密相互連信和使用公開金鑰加密傳輸

來源:互聯網
上載者:User

標籤: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加解密相互連信和使用公開金鑰加密傳輸

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.