Exemplo n.º 1
0
        /// <summary>
        /// 创建秘钥对
        /// </summary>
        /// <param name="length">长度1024的倍数</param>
        /// <param name="keyType">1.Net的秘钥 2java的秘钥</param>
        public static KeyValuePair <string, string> CreateKeyPair(string length, int keyType = 1)
        {
            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(1024);
            //.Net的私钥
            string prixml = rsa.ToXmlString(true);
            //.Net的公钥
            string pubxml = rsa.ToXmlString(false);

            switch (keyType)
            {
            case 2:
                //转换 成java的私钥
                string prk = RSAKey.RSAPrivateKeyDotNet2Java(prixml);
                //转换成java的公钥
                string puk = RSAKey.RSAPublicKeyDotNet2Java(pubxml);
                return(new KeyValuePair <string, string>(prk, puk));

            default:
                return(new KeyValuePair <string, string>(prixml, pubxml));
            }
        }