Example #1
0
 /// <summary>
 /// 加密 用的是PEM格式的密钥
 /// </summary>
 /// <param name="plaintext">要加密的数据</param>
 /// <param name="publicPEMKey">PEM格式的公钥</param>
 /// <returns></returns>
 public static string Encrypt_PEMKey(string plaintext, string publicPEMKey)
 {
     using (RSACryptoServiceProvider RSA = RSA_PEM.FromPEM(publicPEMKey))
     {
         return(Encrypt(plaintext, RSA));
     }
 }
Example #2
0
        /// <summary>
        /// 导出PEM PKCS#8格式密钥对,返回数组第一个是私钥,第二个是公钥.
        /// </summary>
        /// <param name="size">密钥长度,默认1024,可以为2048</param>
        /// <returns></returns>
        public static string[] CreateKey_PEM_PKCS8(int size = 1024)
        {
            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(size);
            string privateKey            = RSA_PEM.ToPEM(rsa, false, true);
            string publicKey             = RSA_PEM.ToPEM(rsa, true, true);

            return(new string[] { privateKey, publicKey });
        }
Example #3
0
 /// <summary>
 /// 解密 用的是PEM格式的密钥
 /// </summary>
 /// <param name="ciphertext">密文</param>
 /// <param name="privatePEMKey">密钥</param>
 /// <returns></returns>
 public static string Decrypt_PEMKey(string ciphertext, string privatePEMKey)
 {
     //using (var RSA = new RSACryptoServiceProvider())
     using (var RSA = RSA_PEM.FromPEM(privatePEMKey))
     {
         return(Decrypt(ciphertext, RSA));
     }
 }