<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Willaim'Blog</title><subtitle type="text">我的梦__外国人学中国人的技术。</subtitle><id>http://feed.cnblogs.com/blog/u/24967/rss</id><updated>2011-09-13T08:16:40Z</updated><author><name>吾爱乐乐</name><uri>http://www.cnblogs.com/wcp066/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wcp066/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/24967/rss"/><entry><id>http://www.cnblogs.com/wcp066/articles/2174843.html</id><title type="text">C# RSA和Java RSA互通</title><summary type="text">C# RSA和Java RSA互通 今天调查了C# RSA和Java RSA，网上很多人说，C#加密或者java加密 ，Java不能解密或者C#不能解密但是我尝试了一下，发现是可以的，下面就是我尝试的代码，如果您有什么问题，我想看看，他们为什么不能互通？Rsamain代码 packagersa; importjava.math.BigInteger; importjava.security.KeyFactory; importjava.security.PrivateKey; importjava.security.PublicKey; importjava.security.spec.RSA</summary><published>2011-09-13T08:16:00Z</published><updated>2011-09-13T08:16:00Z</updated><author><name>吾爱乐乐</name><uri>http://www.cnblogs.com/wcp066/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wcp066/articles/2174843.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wcp066/articles/2174843.html"/><content type="html">&lt;p&gt;&lt;strong&gt;C# RSA和Java RSA互通 &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;div &gt;&lt;/div&gt;&#xD;
&lt;div id="blog_content" &gt;&#xD;
&lt;p&gt;今天调查了C# RSA和Java RSA，网上很多人说，C#加密或者java加密 ，Java不能解密或者C#不能解密&lt;/p&gt;&#xD;
&lt;p&gt;但是我尝试了一下，发现是可以的，下面就是我尝试的代码，如果您有什么问题，我想看看，他们为什么不能互通？&lt;/p&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;Rsamain代码 &lt;a title="复制代码" onclick="dp.sh.Toolbar.CopyToClipboard(this);return false;" href="#"&gt;&lt;/a&gt;&amp;nbsp;&lt;a title="收藏这段代码" onclick="code_favorites_do_favorite(this);return false;" href="http://www.cnblogs.com/wcp066/admin/javascript:void()"&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;ol &gt;&lt;li&gt;&lt;span&gt;package&amp;nbsp;rsa; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;import&amp;nbsp;java.math.BigInteger; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;import&amp;nbsp;java.security.KeyFactory; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;import&amp;nbsp;java.security.PrivateKey; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;import&amp;nbsp;java.security.PublicKey; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;import&amp;nbsp;java.security.spec.RSAPrivateKeySpec; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;import&amp;nbsp;java.security.spec.RSAPublicKeySpec; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;import&amp;nbsp;javax.crypto.Cipher; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;import&amp;nbsp;com.sun.org.apache.xml.internal.security.exceptions.Base64DecodingException; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;import&amp;nbsp;com.sun.org.apache.xml.internal.security.utils.Base64; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;/** &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;*&amp;nbsp;@author&amp;nbsp;cnchenhl &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;*&amp;nbsp;Jul&amp;nbsp;&lt;/span&gt;&lt;span &gt;8&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;2011&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;*/ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;public&amp;nbsp;class&amp;nbsp;RSAMain&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;String&amp;nbsp;module&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;"5m9m14XH3oqLJ8bNGw9e4rGpXpcktv9MSkHSVFVMjHbfv+SJ5v0ubqQxa5YjLN4vc49z7SVju8s0X4gZ6AzZTn06jzWOgyPRV54Q4I0DCYadWW4Ze3e+BOtwgVU1Og3qHKn8vygoj40J6U85Z/PTJu3hN1m75Zr195ju7g9v4Hk="&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;String&amp;nbsp;exponentString&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;"AQAB"&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;String&amp;nbsp;delement&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;"vmaYHEbPAgOJvaEXQl+t8DQKFT1fudEysTy31LTyXjGu6XiltXXHUuZaa2IPyHgBz0Nd7znwsW/S44iql0Fen1kzKioEL3svANui63O3o5xdDeExVM6zOf1wUUh/oldovPweChyoAdMtUzgvCbJk1sYDJf++Nr0FeNW1RB1XG30="&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;String&amp;nbsp;encryptString&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;"Vx/dGjS1YWKRubsoDgiShiwLgqyNE2z/eM65U7HZx+RogwaiZimNBxjuOS6acEhKZx66cMYEAd1fc6oewbEvDIfP44GaN9dCjKE/BkkQlwEg6aTO5q+yqy+nEGe1kvLY9EyXS/Kv1LDh3e/2xAk5FNj8Zp6oU2kq4ewL8kK/ai4="&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/** &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;args &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte[]&amp;nbsp;en&amp;nbsp;=&amp;nbsp;encrypt(); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(Base64.encode(en)); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte[]&amp;nbsp;enTest&amp;nbsp;=&amp;nbsp;null; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;enTest&amp;nbsp;=&amp;nbsp;Base64.decode(encryptString); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(Base64DecodingException&amp;nbsp;e)&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace(); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(enTest.length); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(en.length); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(new&amp;nbsp;String(Dencrypt(en))); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(new&amp;nbsp;String(Dencrypt(enTest))); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;byte[]&amp;nbsp;encrypt()&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte[]&amp;nbsp;modulusBytes&amp;nbsp;=&amp;nbsp;Base64.decode(module); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte[]&amp;nbsp;exponentBytes&amp;nbsp;=&amp;nbsp;Base64.decode(exponentString); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BigInteger&amp;nbsp;modulus&amp;nbsp;=&amp;nbsp;new&amp;nbsp;BigInteger(&lt;/span&gt;&lt;span &gt;1&lt;/span&gt;&lt;span&gt;,&amp;nbsp;modulusBytes); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BigInteger&amp;nbsp;exponent&amp;nbsp;=&amp;nbsp;new&amp;nbsp;BigInteger(&lt;/span&gt;&lt;span &gt;1&lt;/span&gt;&lt;span&gt;,&amp;nbsp;exponentBytes); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RSAPublicKeySpec&amp;nbsp;rsaPubKey&amp;nbsp;=&amp;nbsp;new&amp;nbsp;RSAPublicKeySpec(modulus,&amp;nbsp;exponent); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyFactory&amp;nbsp;fact&amp;nbsp;=&amp;nbsp;KeyFactory.getInstance(&lt;/span&gt;&lt;span &gt;"RSA"&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PublicKey&amp;nbsp;pubKey&amp;nbsp;=&amp;nbsp;fact.generatePublic(rsaPubKey); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cipher&amp;nbsp;cipher&amp;nbsp;=&amp;nbsp;Cipher.getInstance(&lt;/span&gt;&lt;span &gt;"RSA"&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cipher.init(Cipher.ENCRYPT_MODE,&amp;nbsp;pubKey); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte[]&amp;nbsp;cipherData&amp;nbsp;=&amp;nbsp;cipher.doFinal(new&amp;nbsp;String(&lt;/span&gt;&lt;span &gt;"chenhailong"&lt;/span&gt;&lt;span&gt;).getBytes()); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;cipherData; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(Exception&amp;nbsp;e)&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace(); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;null; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;byte[]&amp;nbsp;Dencrypt(byte[]&amp;nbsp;encrypted)&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte[]&amp;nbsp;expBytes&amp;nbsp;=&amp;nbsp;Base64.decode(delement); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte[]&amp;nbsp;modBytes&amp;nbsp;=&amp;nbsp;Base64.decode(module); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BigInteger&amp;nbsp;modules&amp;nbsp;=&amp;nbsp;new&amp;nbsp;BigInteger(&lt;/span&gt;&lt;span &gt;1&lt;/span&gt;&lt;span&gt;,&amp;nbsp;modBytes); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BigInteger&amp;nbsp;exponent&amp;nbsp;=&amp;nbsp;new&amp;nbsp;BigInteger(&lt;/span&gt;&lt;span &gt;1&lt;/span&gt;&lt;span&gt;,&amp;nbsp;expBytes); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyFactory&amp;nbsp;factory&amp;nbsp;=&amp;nbsp;KeyFactory.getInstance(&lt;/span&gt;&lt;span &gt;"RSA"&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cipher&amp;nbsp;cipher&amp;nbsp;=&amp;nbsp;Cipher.getInstance(&lt;/span&gt;&lt;span &gt;"RSA"&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RSAPrivateKeySpec&amp;nbsp;privSpec&amp;nbsp;=&amp;nbsp;new&amp;nbsp;RSAPrivateKeySpec(modules,&amp;nbsp;exponent); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PrivateKey&amp;nbsp;privKey&amp;nbsp;=&amp;nbsp;factory.generatePrivate(privSpec); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cipher.init(Cipher.DECRYPT_MODE,&amp;nbsp;privKey); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte[]&amp;nbsp;decrypted&amp;nbsp;=&amp;nbsp;cipher.doFinal(encrypted); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;decrypted; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(Exception&amp;nbsp;e)&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace(); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;null; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style="display: none"  title="C# RSA和Java RSA互通" pre_index="0" source_url="http://chenhailong.iteye.com/blog/1119678" codeable_type="Blog" codeable_id="1119678" name="code"&gt;package rsa;&#xD;
&#xD;
import java.math.BigInteger;&#xD;
import java.security.KeyFactory;&#xD;
import java.security.PrivateKey;&#xD;
import java.security.PublicKey;&#xD;
import java.security.spec.RSAPrivateKeySpec;&#xD;
import java.security.spec.RSAPublicKeySpec;&#xD;
&#xD;
import javax.crypto.Cipher;&#xD;
&#xD;
import com.sun.org.apache.xml.internal.security.exceptions.Base64DecodingException;&#xD;
import com.sun.org.apache.xml.internal.security.utils.Base64;&#xD;
&#xD;
&#xD;
/**&#xD;
 * @author cnchenhl&#xD;
 * Jul 8, 2011&#xD;
 */&#xD;
public class RSAMain {&#xD;
&#xD;
    private static String module = "5m9m14XH3oqLJ8bNGw9e4rGpXpcktv9MSkHSVFVMjHbfv+SJ5v0ubqQxa5YjLN4vc49z7SVju8s0X4gZ6AzZTn06jzWOgyPRV54Q4I0DCYadWW4Ze3e+BOtwgVU1Og3qHKn8vygoj40J6U85Z/PTJu3hN1m75Zr195ju7g9v4Hk=";&#xD;
    private static String exponentString = "AQAB";&#xD;
    private static String delement = "vmaYHEbPAgOJvaEXQl+t8DQKFT1fudEysTy31LTyXjGu6XiltXXHUuZaa2IPyHgBz0Nd7znwsW/S44iql0Fen1kzKioEL3svANui63O3o5xdDeExVM6zOf1wUUh/oldovPweChyoAdMtUzgvCbJk1sYDJf++Nr0FeNW1RB1XG30=";&#xD;
    private static String encryptString = "Vx/dGjS1YWKRubsoDgiShiwLgqyNE2z/eM65U7HZx+RogwaiZimNBxjuOS6acEhKZx66cMYEAd1fc6oewbEvDIfP44GaN9dCjKE/BkkQlwEg6aTO5q+yqy+nEGe1kvLY9EyXS/Kv1LDh3e/2xAk5FNj8Zp6oU2kq4ewL8kK/ai4=";&#xD;
    /**&#xD;
     * @param args&#xD;
     */&#xD;
    public static void main(String[] args) {&#xD;
        byte[] en = encrypt();&#xD;
        System.out.println(Base64.encode(en));&#xD;
        byte[] enTest = null;&#xD;
        try {&#xD;
            enTest = Base64.decode(encryptString);&#xD;
        } catch (Base64DecodingException e) {&#xD;
            e.printStackTrace();&#xD;
        }&#xD;
        System.out.println(enTest.length);&#xD;
        System.out.println(en.length);&#xD;
        System.out.println(new String(Dencrypt(en)));&#xD;
        System.out.println(new String(Dencrypt(enTest)));&#xD;
    }&#xD;
&#xD;
    public static byte[] encrypt() {&#xD;
        try {&#xD;
            byte[] modulusBytes = Base64.decode(module);&#xD;
            byte[] exponentBytes = Base64.decode(exponentString);&#xD;
            BigInteger modulus = new BigInteger(1, modulusBytes);&#xD;
            BigInteger exponent = new BigInteger(1, exponentBytes);&#xD;
&#xD;
            RSAPublicKeySpec rsaPubKey = new RSAPublicKeySpec(modulus, exponent);&#xD;
            KeyFactory fact = KeyFactory.getInstance("RSA");&#xD;
            PublicKey pubKey = fact.generatePublic(rsaPubKey);&#xD;
&#xD;
            Cipher cipher = Cipher.getInstance("RSA");&#xD;
            cipher.init(Cipher.ENCRYPT_MODE, pubKey);&#xD;
&#xD;
            byte[] cipherData = cipher.doFinal(new String("chenhailong").getBytes());&#xD;
            return cipherData;&#xD;
        } catch (Exception e) {&#xD;
            e.printStackTrace();&#xD;
        }&#xD;
        return null;&#xD;
&#xD;
    }&#xD;
&#xD;
    public static byte[] Dencrypt(byte[] encrypted) {&#xD;
        try {&#xD;
            byte[] expBytes = Base64.decode(delement);&#xD;
            byte[] modBytes = Base64.decode(module);&#xD;
&#xD;
            BigInteger modules = new BigInteger(1, modBytes);&#xD;
            BigInteger exponent = new BigInteger(1, expBytes);&#xD;
&#xD;
            KeyFactory factory = KeyFactory.getInstance("RSA");&#xD;
            Cipher cipher = Cipher.getInstance("RSA");&#xD;
&#xD;
            RSAPrivateKeySpec privSpec = new RSAPrivateKeySpec(modules, exponent);&#xD;
            PrivateKey privKey = factory.generatePrivate(privSpec);&#xD;
            cipher.init(Cipher.DECRYPT_MODE, privKey);&#xD;
            byte[] decrypted = cipher.doFinal(encrypted);&#xD;
            return decrypted;&#xD;
        } catch (Exception e) {&#xD;
            e.printStackTrace();&#xD;
        }&#xD;
        return null;&#xD;
    }&#xD;
}&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;C#代码 &lt;a title="复制代码" onclick="dp.sh.Toolbar.CopyToClipboard(this);return false;" href="#"&gt;&lt;/a&gt;&amp;nbsp;&lt;a title="收藏这段代码" onclick="code_favorites_do_favorite(this);return false;" href="http://www.cnblogs.com/wcp066/admin/javascript:void()"&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;ol &gt;&lt;li&gt;&lt;span &gt;using&lt;/span&gt;&lt;span&gt;&amp;nbsp;System; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;using&lt;/span&gt;&lt;span&gt;&amp;nbsp;System.Collections.Generic; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;using&lt;/span&gt;&lt;span&gt;&amp;nbsp;System.Linq; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;using&lt;/span&gt;&lt;span&gt;&amp;nbsp;System.Text; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;using&lt;/span&gt;&lt;span&gt;&amp;nbsp;System.Security.Cryptography; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span &gt;namespace&lt;/span&gt;&lt;span&gt;&amp;nbsp;RSA &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;class&lt;/span&gt;&lt;span&gt;&amp;nbsp;Program &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;static&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;void&lt;/span&gt;&lt;span&gt;&amp;nbsp;Main(&lt;/span&gt;&lt;span &gt;string&lt;/span&gt;&lt;span&gt;[]&amp;nbsp;args) &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;string&lt;/span&gt;&lt;span&gt;&amp;nbsp;de&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;"iBILuPJFgPMxgpbgN3F2JjD6XjcqRSApjVVbvBBEBDV21Pjj7lTrfhEjSVnJX/MVoZrmX0lxsvoXTMvvVwVF7K7W5hs7Qo+aMN96yWke7wiLEM9M4pPz60A/KSckskiona67tXcqOLXb8N18TKaNCKHv0Ce+GyEKK5+MT7e1vao="&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;//string&amp;nbsp;encrypt&amp;nbsp;=&amp;nbsp;RSAEncrypt("",&amp;nbsp;"chenhailong"); &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;byte&lt;/span&gt;&lt;span&gt;[]&amp;nbsp;encrypt&amp;nbsp;=&amp;nbsp;RSAEncrypt(&lt;/span&gt;&lt;span &gt;"chenhailong"&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;//string&amp;nbsp;name&amp;nbsp;=&amp;nbsp;RSADecrypt(encrypt); &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;string&lt;/span&gt;&lt;span&gt;&amp;nbsp;name&amp;nbsp;=&amp;nbsp;RSADecrypt(Convert.FromBase64String(de)); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(encrypt.Length); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(Convert.ToBase64String(encrypt)); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(name); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.ReadKey(); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;///&amp;nbsp;&amp;lt;summary&amp;gt; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;///&amp;nbsp;RSA&amp;nbsp;encrypt &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;///&amp;nbsp;&amp;lt;/summary&amp;gt; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;///&amp;nbsp;&amp;lt;param&amp;nbsp;name="publickey"&amp;gt;&amp;lt;/param&amp;gt; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;///&amp;nbsp;&amp;lt;param&amp;nbsp;name="content"&amp;gt;&amp;lt;/param&amp;gt; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;///&amp;nbsp;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;static&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;byte&lt;/span&gt;&lt;span&gt;[]&amp;nbsp;RSAEncrypt(&lt;/span&gt;&lt;span &gt;string&lt;/span&gt;&lt;span&gt;&amp;nbsp;content) &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;string&lt;/span&gt;&lt;span&gt;&amp;nbsp;publickey&amp;nbsp;=&amp;nbsp;@&lt;/span&gt;&lt;span &gt;"&amp;lt;RSAKeyValue&amp;gt;&amp;lt;Modulus&amp;gt;5m9m14XH3oqLJ8bNGw9e4rGpXpcktv9MSkHSVFVMjHbfv+SJ5v0ubqQxa5YjLN4vc49z7SVju8s0X4gZ6AzZTn06jzWOgyPRV54Q4I0DCYadWW4Ze3e+BOtwgVU1Og3qHKn8vygoj40J6U85Z/PTJu3hN1m75Zr195ju7g9v4Hk=&amp;lt;/Modulus&amp;gt;&amp;lt;Exponent&amp;gt;AQAB&amp;lt;/Exponent&amp;gt;&amp;lt;/RSAKeyValue&amp;gt;"&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RSACryptoServiceProvider&amp;nbsp;rsa&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;RSACryptoServiceProvider(); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;byte&lt;/span&gt;&lt;span&gt;[]&amp;nbsp;cipherbytes; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rsa.FromXmlString(publickey); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cipherbytes&amp;nbsp;=&amp;nbsp;rsa.Encrypt(Encoding.UTF8.GetBytes(content),&amp;nbsp;&lt;/span&gt;&lt;span &gt;false&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;//return&amp;nbsp;Convert.ToBase64String(cipherbytes); &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;cipherbytes; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;///&amp;nbsp;&amp;lt;summary&amp;gt; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;///&amp;nbsp;RSA&amp;nbsp;decrypt &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;///&amp;nbsp;&amp;lt;/summary&amp;gt; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;///&amp;nbsp;&amp;lt;param&amp;nbsp;name="privatekey"&amp;gt;&amp;lt;/param&amp;gt; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;///&amp;nbsp;&amp;lt;param&amp;nbsp;name="content"&amp;gt;&amp;lt;/param&amp;gt; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;///&amp;nbsp;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;static&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;string&lt;/span&gt;&lt;span&gt;&amp;nbsp;RSADecrypt(&lt;/span&gt;&lt;span &gt;byte&lt;/span&gt;&lt;span&gt;[]&amp;nbsp;content) &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;string&lt;/span&gt;&lt;span&gt;&amp;nbsp;privatekey&amp;nbsp;=&amp;nbsp;@&lt;/span&gt;&lt;span &gt;"&amp;lt;RSAKeyValue&amp;gt;&amp;lt;Modulus&amp;gt;5m9m14XH3oqLJ8bNGw9e4rGpXpcktv9MSkHSVFVMjHbfv+SJ5v0ubqQxa5YjLN4vc49z7SVju8s0X4gZ6AzZTn06jzWOgyPRV54Q4I0DCYadWW4Ze3e+BOtwgVU1Og3qHKn8vygoj40J6U85Z/PTJu3hN1m75Zr195ju7g9v4Hk=&amp;lt;/Modulus&amp;gt;&amp;lt;Exponent&amp;gt;AQAB&amp;lt;/Exponent&amp;gt;&amp;lt;P&amp;gt;/hf2dnK7rNfl3lbqghWcpFdu778hUpIEBixCDL5WiBtpkZdpSw90aERmHJYaW2RGvGRi6zSftLh00KHsPcNUMw==&amp;lt;/P&amp;gt;&amp;lt;Q&amp;gt;6Cn/jOLrPapDTEp1Fkq+uz++1Do0eeX7HYqi9rY29CqShzCeI7LEYOoSwYuAJ3xA/DuCdQENPSoJ9KFbO4Wsow==&amp;lt;/Q&amp;gt;&amp;lt;DP&amp;gt;ga1rHIJro8e/yhxjrKYo/nqc5ICQGhrpMNlPkD9n3CjZVPOISkWF7FzUHEzDANeJfkZhcZa21z24aG3rKo5Qnw==&amp;lt;/DP&amp;gt;&amp;lt;DQ&amp;gt;MNGsCB8rYlMsRZ2ek2pyQwO7h/sZT8y5ilO9wu08Dwnot/7UMiOEQfDWstY3w5XQQHnvC9WFyCfP4h4QBissyw==&amp;lt;/DQ&amp;gt;&amp;lt;InverseQ&amp;gt;EG02S7SADhH1EVT9DD0Z62Y0uY7gIYvxX/uq+IzKSCwB8M2G7Qv9xgZQaQlLpCaeKbux3Y59hHM+KpamGL19Kg==&amp;lt;/InverseQ&amp;gt;&amp;lt;D&amp;gt;vmaYHEbPAgOJvaEXQl+t8DQKFT1fudEysTy31LTyXjGu6XiltXXHUuZaa2IPyHgBz0Nd7znwsW/S44iql0Fen1kzKioEL3svANui63O3o5xdDeExVM6zOf1wUUh/oldovPweChyoAdMtUzgvCbJk1sYDJf++Nr0FeNW1RB1XG30=&amp;lt;/D&amp;gt;&amp;lt;/RSAKeyValue&amp;gt;"&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RSACryptoServiceProvider&amp;nbsp;rsa&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;RSACryptoServiceProvider(); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;byte&lt;/span&gt;&lt;span&gt;[]&amp;nbsp;cipherbytes; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rsa.FromXmlString(privatekey); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cipherbytes&amp;nbsp;=&amp;nbsp;rsa.Decrypt(content,&amp;nbsp;&lt;/span&gt;&lt;span &gt;false&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;Encoding.UTF8.GetString(cipherbytes); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style="display: none"  title="C# RSA和Java RSA互通" pre_index="1" source_url="http://chenhailong.iteye.com/blog/1119678" codeable_type="Blog" codeable_id="1119678" name="code"&gt;using System;&#xD;
using System.Collections.Generic;&#xD;
using System.Linq;&#xD;
using System.Text;&#xD;
using System.Security.Cryptography;&#xD;
&#xD;
namespace RSA&#xD;
{&#xD;
    class Program&#xD;
    {&#xD;
        static void Main(string[] args)&#xD;
        {&#xD;
            string de  = "iBILuPJFgPMxgpbgN3F2JjD6XjcqRSApjVVbvBBEBDV21Pjj7lTrfhEjSVnJX/MVoZrmX0lxsvoXTMvvVwVF7K7W5hs7Qo+aMN96yWke7wiLEM9M4pPz60A/KSckskiona67tXcqOLXb8N18TKaNCKHv0Ce+GyEKK5+MT7e1vao=";&#xD;
            //string encrypt = RSAEncrypt("", "chenhailong");&#xD;
            byte[] encrypt = RSAEncrypt("chenhailong");&#xD;
            //string name = RSADecrypt(encrypt);&#xD;
            string name = RSADecrypt(Convert.FromBase64String(de));&#xD;
            Console.WriteLine(encrypt.Length);&#xD;
            Console.WriteLine(Convert.ToBase64String(encrypt));&#xD;
            Console.WriteLine(name);&#xD;
            Console.ReadKey();&#xD;
        }&#xD;
        /// &amp;lt;summary&amp;gt;&#xD;
        /// RSA encrypt&#xD;
        /// &amp;lt;/summary&amp;gt;&#xD;
        /// &amp;lt;param name="publickey"&amp;gt;&amp;lt;/param&amp;gt;&#xD;
        /// &amp;lt;param name="content"&amp;gt;&amp;lt;/param&amp;gt;&#xD;
        /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&#xD;
        public static byte[] RSAEncrypt(string content)&#xD;
        {&#xD;
            string publickey = @"&amp;lt;RSAKeyValue&amp;gt;&amp;lt;Modulus&amp;gt;5m9m14XH3oqLJ8bNGw9e4rGpXpcktv9MSkHSVFVMjHbfv+SJ5v0ubqQxa5YjLN4vc49z7SVju8s0X4gZ6AzZTn06jzWOgyPRV54Q4I0DCYadWW4Ze3e+BOtwgVU1Og3qHKn8vygoj40J6U85Z/PTJu3hN1m75Zr195ju7g9v4Hk=&amp;lt;/Modulus&amp;gt;&amp;lt;Exponent&amp;gt;AQAB&amp;lt;/Exponent&amp;gt;&amp;lt;/RSAKeyValue&amp;gt;";&#xD;
            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();&#xD;
            byte[] cipherbytes;&#xD;
            rsa.FromXmlString(publickey);&#xD;
            cipherbytes = rsa.Encrypt(Encoding.UTF8.GetBytes(content), false);&#xD;
&#xD;
            //return Convert.ToBase64String(cipherbytes);&#xD;
            return cipherbytes;&#xD;
        }&#xD;
&#xD;
        /// &amp;lt;summary&amp;gt;&#xD;
        /// RSA decrypt&#xD;
        /// &amp;lt;/summary&amp;gt;&#xD;
        /// &amp;lt;param name="privatekey"&amp;gt;&amp;lt;/param&amp;gt;&#xD;
        /// &amp;lt;param name="content"&amp;gt;&amp;lt;/param&amp;gt;&#xD;
        /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&#xD;
        public static string RSADecrypt(byte[] content)&#xD;
        {&#xD;
            string privatekey = @"&amp;lt;RSAKeyValue&amp;gt;&amp;lt;Modulus&amp;gt;5m9m14XH3oqLJ8bNGw9e4rGpXpcktv9MSkHSVFVMjHbfv+SJ5v0ubqQxa5YjLN4vc49z7SVju8s0X4gZ6AzZTn06jzWOgyPRV54Q4I0DCYadWW4Ze3e+BOtwgVU1Og3qHKn8vygoj40J6U85Z/PTJu3hN1m75Zr195ju7g9v4Hk=&amp;lt;/Modulus&amp;gt;&amp;lt;Exponent&amp;gt;AQAB&amp;lt;/Exponent&amp;gt;&amp;lt;P&amp;gt;/hf2dnK7rNfl3lbqghWcpFdu778hUpIEBixCDL5WiBtpkZdpSw90aERmHJYaW2RGvGRi6zSftLh00KHsPcNUMw==&amp;lt;/P&amp;gt;&amp;lt;Q&amp;gt;6Cn/jOLrPapDTEp1Fkq+uz++1Do0eeX7HYqi9rY29CqShzCeI7LEYOoSwYuAJ3xA/DuCdQENPSoJ9KFbO4Wsow==&amp;lt;/Q&amp;gt;&amp;lt;DP&amp;gt;ga1rHIJro8e/yhxjrKYo/nqc5ICQGhrpMNlPkD9n3CjZVPOISkWF7FzUHEzDANeJfkZhcZa21z24aG3rKo5Qnw==&amp;lt;/DP&amp;gt;&amp;lt;DQ&amp;gt;MNGsCB8rYlMsRZ2ek2pyQwO7h/sZT8y5ilO9wu08Dwnot/7UMiOEQfDWstY3w5XQQHnvC9WFyCfP4h4QBissyw==&amp;lt;/DQ&amp;gt;&amp;lt;InverseQ&amp;gt;EG02S7SADhH1EVT9DD0Z62Y0uY7gIYvxX/uq+IzKSCwB8M2G7Qv9xgZQaQlLpCaeKbux3Y59hHM+KpamGL19Kg==&amp;lt;/InverseQ&amp;gt;&amp;lt;D&amp;gt;vmaYHEbPAgOJvaEXQl+t8DQKFT1fudEysTy31LTyXjGu6XiltXXHUuZaa2IPyHgBz0Nd7znwsW/S44iql0Fen1kzKioEL3svANui63O3o5xdDeExVM6zOf1wUUh/oldovPweChyoAdMtUzgvCbJk1sYDJf++Nr0FeNW1RB1XG30=&amp;lt;/D&amp;gt;&amp;lt;/RSAKeyValue&amp;gt;";&#xD;
            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();&#xD;
            byte[] cipherbytes;&#xD;
            rsa.FromXmlString(privatekey);&#xD;
            cipherbytes = rsa.Decrypt(content, false);&#xD;
&#xD;
            return Encoding.UTF8.GetString(cipherbytes);&#xD;
        }&#xD;
&#xD;
&#xD;
    }&#xD;
&#xD;
}&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;有什么问题 请给我留言&lt;/p&gt;&#xD;
&lt;p&gt;下面是Key的互通代码&lt;/p&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;Java代码 &lt;a title="复制代码" onclick="dp.sh.Toolbar.CopyToClipboard(this);return false;" href="#"&gt;&lt;/a&gt;&amp;nbsp;&lt;a title="收藏这段代码" onclick="code_favorites_do_favorite(this);return false;" href="http://www.cnblogs.com/wcp066/admin/javascript:void()"&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;ol &gt;&lt;li&gt;&lt;span &gt;private&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;byte&lt;/span&gt;&lt;span&gt;[]&amp;nbsp;removeMSZero(&lt;/span&gt;&lt;span &gt;byte&lt;/span&gt;&lt;span&gt;[]&amp;nbsp;data)&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;byte&lt;/span&gt;&lt;span&gt;[]&amp;nbsp;data1; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;int&lt;/span&gt;&lt;span&gt;&amp;nbsp;len&amp;nbsp;=&amp;nbsp;data.length; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(data[&lt;/span&gt;&lt;span &gt;0&lt;/span&gt;&lt;span&gt;]&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span &gt;0&lt;/span&gt;&lt;span&gt;)&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data1&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;byte&lt;/span&gt;&lt;span&gt;[data.length&amp;nbsp;-&amp;nbsp;&lt;/span&gt;&lt;span &gt;1&lt;/span&gt;&lt;span&gt;]; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.arraycopy(data,&amp;nbsp;&lt;/span&gt;&lt;span &gt;1&lt;/span&gt;&lt;span&gt;,&amp;nbsp;data1,&amp;nbsp;&lt;/span&gt;&lt;span &gt;0&lt;/span&gt;&lt;span&gt;,&amp;nbsp;len&amp;nbsp;-&amp;nbsp;&lt;/span&gt;&lt;span &gt;1&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;span &gt;else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data1&amp;nbsp;=&amp;nbsp;data; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;data1; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/wcp066/aggbug/2174843.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wcp066/articles/2174843.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wcp066/articles/1653554.html</id><title type="text">出现“指定的网络名不再可用\企图在不存在的网络连接上进行操作”错误提示，但是服务器与客户端之间都能PING通。在网上查找了下解决方案</title><summary type="text">今天一来发现很客户端无法映射服务器文件，出现&amp;#8220;指定的网络名不再可用\企图在不存在的网络连接上进行操作&amp;#8221;错误提示，但是服务器与客户端之间都能PING通。在网上查找了下解决方案，如下： 在一个多子网网络中，有一台装Windows 2003 ServerAD服务器，另外两台window 2003 server web服务器web1和web2，其中web1加入域的时候报错&amp;#822...</summary><published>2010-01-21T10:42:00Z</published><updated>2010-01-21T10:42:00Z</updated><author><name>吾爱乐乐</name><uri>http://www.cnblogs.com/wcp066/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wcp066/articles/1653554.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wcp066/articles/1653554.html"/></entry><entry><id>http://www.cnblogs.com/wcp066/archive/2009/04/28/1445526.html</id><title type="text">SQL 2005 Report Server 请求因 HTTP 状态 400 失败: Bad Request 处理方法 的解决方法</title><summary type="text">SQL 2005 Report Server 请求因 HTTP 状态 400 失败: Bad Request 处理方法 的解决方法</summary><published>2009-04-28T08:29:00Z</published><updated>2009-04-28T08:29:00Z</updated><author><name>吾爱乐乐</name><uri>http://www.cnblogs.com/wcp066/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wcp066/archive/2009/04/28/1445526.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wcp066/archive/2009/04/28/1445526.html"/></entry><entry><id>http://www.cnblogs.com/wcp066/archive/2009/04/11/1433892.html</id><title type="text">让DIV产生滚动条</title><summary type="text">如何让DIV产生滚动条，以下是具体介绍</summary><published>2009-04-11T13:36:00Z</published><updated>2009-04-11T13:36:00Z</updated><author><name>吾爱乐乐</name><uri>http://www.cnblogs.com/wcp066/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wcp066/archive/2009/04/11/1433892.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wcp066/archive/2009/04/11/1433892.html"/></entry><entry><id>http://www.cnblogs.com/wcp066/archive/2009/02/09/1386974.html</id><title type="text">单元测试详细介绍，和大家分享</title><summary type="text">VS2005单元测试的工具主要集成在VS开发者版与VS测试者版这两个版本中。当然我们平时装的是Visual Studio Team Suit也有这个工具，我们这里介绍一下VS2005自带的单元测试工具的使用方法，和大家分享一下。</summary><published>2009-02-09T09:47:00Z</published><updated>2009-02-09T09:47:00Z</updated><author><name>吾爱乐乐</name><uri>http://www.cnblogs.com/wcp066/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wcp066/archive/2009/02/09/1386974.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wcp066/archive/2009/02/09/1386974.html"/></entry><entry><id>http://www.cnblogs.com/wcp066/archive/2009/02/05/1384328.html</id><title type="text">最新最全的ASP.NET学习资源大全</title><summary type="text">最新最全的ASP.NET学习资源大全(网络摘要) 网上收集到的，和大家分享哈</summary><published>2009-02-05T02:23:00Z</published><updated>2009-02-05T02:23:00Z</updated><author><name>吾爱乐乐</name><uri>http://www.cnblogs.com/wcp066/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wcp066/archive/2009/02/05/1384328.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wcp066/archive/2009/02/05/1384328.html"/></entry><entry><id>http://www.cnblogs.com/wcp066/archive/2008/12/16/1356027.html</id><title type="text">.NET开发人员必备下载工具</title><summary type="text"> .NET开发人员十大必备下载工具,网上看见的，收集下来存起      NUnit：编写单元测试的工具 　　NDoc：创建代码文档的工具 　　NAnt：生成解决方案的工具 　　CodeSmith：代码生成工具 　　FxCop：用于监视代码的——代码警察 　　Snippet Compiler：小型代码段编译工具 　　两个不同的转换器工具，ASP.NET 版本转换器（Version Switcher）和 Visual Studio .NET 项目转换器（Project Converter）　　Regulator：生成正则表达式工具 　　.NET Reflector：程序集分析检查工具</summary><published>2008-12-16T07:48:00Z</published><updated>2008-12-16T07:48:00Z</updated><author><name>吾爱乐乐</name><uri>http://www.cnblogs.com/wcp066/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wcp066/archive/2008/12/16/1356027.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wcp066/archive/2008/12/16/1356027.html"/></entry><entry><id>http://www.cnblogs.com/wcp066/archive/2008/11/25/1340727.html</id><title type="text">window xp,oracle数据库、plsql的tns连接失败,的解决办法。</title><summary type="text">window xp,oracle数据库、plsql的tns连接失败,的解决办法。</summary><published>2008-11-25T08:13:00Z</published><updated>2008-11-25T08:13:00Z</updated><author><name>吾爱乐乐</name><uri>http://www.cnblogs.com/wcp066/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wcp066/archive/2008/11/25/1340727.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wcp066/archive/2008/11/25/1340727.html"/></entry><entry><id>http://www.cnblogs.com/wcp066/archive/2008/11/14/1333661.html</id><title type="text">实现iFrame自适应高度</title><summary type="text">&amp;lt;iframeid="iFrame1"name="iFrame1"width="100%"onload="this.height=iFrame1.document.body.scrollHeight"frameborder="0"src="index.htm"&amp;gt;&amp;lt;/iframe&amp;gt;看到了吧，关键就在于onload="this.height=iFrame1.document.b...</summary><published>2008-11-14T08:00:00Z</published><updated>2008-11-14T08:00:00Z</updated><author><name>吾爱乐乐</name><uri>http://www.cnblogs.com/wcp066/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wcp066/archive/2008/11/14/1333661.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wcp066/archive/2008/11/14/1333661.html"/></entry><entry><id>http://www.cnblogs.com/wcp066/archive/2008/09/05/1285003.html</id><title type="text">罪案现场4-古堡谜踪 </title><summary type="text">罪案现场4-古堡谜踪 前面出了密室逃脱的小游戏，供大家在工作空闲之余发散一下思维，现增加部分小游戏，让给位IT界的高手也来一展身手。麦克斯可爱的小妹妹在古堡不见了踪影，这可把他急坏了，各位好心的玩家，开动你的脑筋，想办法帮他找到妹妹吧！这是一个类似于《罪案现场》的推理游戏，对自己的智力有信心的玩家，千万别错过了！ </summary><published>2008-09-05T03:37:00Z</published><updated>2008-09-05T03:37:00Z</updated><author><name>吾爱乐乐</name><uri>http://www.cnblogs.com/wcp066/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wcp066/archive/2008/09/05/1285003.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wcp066/archive/2008/09/05/1285003.html"/></entry></feed>
