当前位置: 首页>>代码示例>>C#>>正文


C# RSACryptoServiceProvider.ExportParameters方法代码示例

本文整理汇总了C#中System.Security.Cryptography.RSACryptoServiceProvider.ExportParameters方法的典型用法代码示例。如果您正苦于以下问题:C# RSACryptoServiceProvider.ExportParameters方法的具体用法?C# RSACryptoServiceProvider.ExportParameters怎么用?C# RSACryptoServiceProvider.ExportParameters使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Security.Cryptography.RSACryptoServiceProvider的用法示例。


在下文中一共展示了RSACryptoServiceProvider.ExportParameters方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreateTokenWithTimeRemaining

		public static D2LSecurityToken CreateTokenWithTimeRemaining(
			TimeSpan remaining,
			Guid? id = null
		) {

			id = id ?? Guid.NewGuid();

			var validTo = DateTime.UtcNow + remaining;
			var validFrom = validTo - TimeSpan.FromHours( 1 );

			RSAParameters privateKey;
			using( var csp = new RSACryptoServiceProvider( Keys.Constants.GENERATED_RSA_KEY_SIZE ) {
				PersistKeyInCsp = false
			} ) {
				privateKey = csp.ExportParameters( includePrivateParameters: true );
			}

			return new D2LSecurityToken(
				id.Value,
				validFrom,
				validTo,
				keyFactory: () => {
					var csp = new RSACryptoServiceProvider() { PersistKeyInCsp = false };
					csp.ImportParameters( privateKey );
					var key = new RsaSecurityKey( csp );
					return new Tuple<AsymmetricSecurityKey, IDisposable>( key, csp );
				}
			);
		}
开发者ID:j3parker,项目名称:D2L.Security.OAuth2,代码行数:29,代码来源:D2LSecurityTokenUtility.cs

示例2: rsa2

        public static RSAViewModel rsa2(RSAViewModel model)
        {
            try
            {
                int keySize = 1024;
                RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(keySize);

                RSAParameters publickey = rsa.ExportParameters(false); // don't export private key
                RSAParameters privatekey = rsa.ExportParameters(true); // export private key
                //\b 123\b0
                model.PublicKey = "e=" + ByteToString(publickey.Exponent) + Environment.NewLine + "n=" + ByteToString(publickey.Modulus);
                model.PrivateKey = "d=" + ByteToString(privatekey.D) + Environment.NewLine + "n=" + ByteToString(publickey.Modulus);

                rsa.ImportParameters(publickey);
                byte[] encryptedData = rsa.Encrypt(StringToByte(model.PlainText), true);

                model.CipherText=ByteToString(encryptedData);

                rsa.ImportParameters(privatekey);
                byte[] decryptedData = rsa.Decrypt(encryptedData, true);

                model.DecryptedText = ByteToAscii(decryptedData);

            }
            catch (CryptographicException ex)
            {

            }
            return model;
        }
开发者ID:santoshkumarsingh,项目名称:PCWeb,代码行数:30,代码来源:RSA.cs

示例3: Main

        static void Main(string[] args)
        {
            // Create message and signature on your end
            string message = "Here is the license message";
            var secret = "wangchunlei";
            var converter = new ASCIIEncoding();
            byte[] plainText = converter.GetBytes(secret);

            var rsaWrite = new RSACryptoServiceProvider();
            var privateParams = rsaWrite.ExportParameters(true);

            // Generate the public key / these can be sent to the user.
            var publicParams = rsaWrite.ExportParameters(false);

            byte[] signature =
                rsaWrite.SignData(plainText, new SHA1CryptoServiceProvider());

            // Verify from the user's side. Note that only the public parameters
            // are needed.
            var rsaRead = new RSACryptoServiceProvider();
            rsaRead.ImportParameters(publicParams);
            if (rsaRead.VerifyData(plainText,
                                new SHA1CryptoServiceProvider(),
                                signature))
            {
                Console.WriteLine("Verified!");
            }
            else
            {
                Console.WriteLine("NOT verified!");
            }
        }
开发者ID:CuneytKukrer,项目名称:TestProject,代码行数:32,代码来源:Program.cs

示例4: CreateNewKey

 public void CreateNewKey()
 {
     mRsa = new RSACryptoServiceProvider(mKeySize);            
     mRsa.PersistKeyInCsp = false;
     mPublicKey = mRsa.ExportParameters(false);
     mPrivateKey = mRsa.ExportParameters(true);                
 }
开发者ID:corebob,项目名称:skulls-bones-and-digital-signatures,代码行数:7,代码来源:DigitalSignature.cs

示例5: ProxyRsaKeyParameters

 public ProxyRsaKeyParameters(RSACryptoServiceProvider proxy)
     : base(false, 
         new Math.BigInteger(1, proxy.ExportParameters(false).Modulus),
         new Math.BigInteger(1, proxy.ExportParameters(false).Exponent))
 {
     this.proxy = proxy;
 }
开发者ID:svn2github,项目名称:ehi,代码行数:7,代码来源:ProxyRSAKeyParameters.cs

示例6: AssignNewKey

        public void AssignNewKey()
        {
            using (var rsa = new RSACryptoServiceProvider(2048))
            {
                rsa.PersistKeyInCsp = false;
                //in memory
                publicKey = rsa.ExportParameters(false);
                privateKey = rsa.ExportParameters(true);
                return;

                //to file
                File.WriteAllText(@"C:\git\CryptographyDemo\CryptographyDemo\bin\Debug\public.txt", rsa.ToXmlString(false));
                File.WriteAllText(@"C:\git\CryptographyDemo\CryptographyDemo\bin\Debug\private.txt", rsa.ToXmlString(true));
            }

            //To key container, stored for windows user
            const int providerRsaFull = 1;
            CspParameters cspParams = new CspParameters(providerRsaFull);
            cspParams.KeyContainerName = "TomsContainer";
            cspParams.Flags = CspProviderFlags.UseMachineKeyStore;
            cspParams.ProviderName = "Microsoft Strong Cryptographic Provider";
            var rsa2 = new RSACryptoServiceProvider(cspParams);
            rsa2.PersistKeyInCsp = true;

            // SHOULD THEN DELETE KEY
        }
开发者ID:tomasking,项目名称:CryptographyDemo,代码行数:26,代码来源:AsymmetricEncryption.cs

示例7: Main

        static void Main(string[] args)
        {
            var rsa = new RSACryptoServiceProvider();
            _publicKey = rsa.ExportParameters(false);
            _privateKey = rsa.ExportParameters(true);
            Console.WriteLine("\n********* Public key info *******************");
            printInfo(_publicKey);
            Console.WriteLine("\n********* Private key info *******************");
            printInfo(_privateKey);

            var message = "I am a plain text message";
            var messageContent = Encoding.UTF8.GetBytes(message.ToCharArray());

            Console.WriteLine("**** Plain Message ****");
            Console.WriteLine(Encoding.UTF8.GetString(messageContent));

            var encrypter = new RSACryptoServiceProvider();
            encrypter.ImportParameters(_publicKey);
            var encryptedMessage = encrypter.Encrypt(messageContent, true);

            Console.WriteLine("**** Encrypted Message ****");
            Console.WriteLine(Convert.ToBase64String(encryptedMessage));

            var decrypter = new RSACryptoServiceProvider();
            decrypter.ImportParameters(_privateKey);
            var decryptedMessage = decrypter.Decrypt(encryptedMessage, true);

            Console.WriteLine("**** Decrypted Message ****");
            Console.WriteLine(Encoding.UTF8.GetString(decryptedMessage));
        }
开发者ID:pashchuk,项目名称:data-security-labs,代码行数:30,代码来源:Program.cs

示例8: Main

        static void Main(string[] args)
        {
            string KeyContainerName = "MyKeyContainer";
            string clearText = "This is the data we want to encrypt!";
            CspParameters cspParams = new CspParameters();
            cspParams.KeyContainerName = KeyContainerName;

            RSAParameters publicKey;
            RSAParameters privateKey;

            using(var rsa = new RSACryptoServiceProvider(cspParams))
            {
                rsa.PersistKeyInCsp = true;
                publicKey = rsa.ExportParameters(false);
                privateKey = rsa.ExportParameters(true);

                rsa.Clear();
            }

            byte[] encrypted = EncryptUsingRSAParam(clearText, publicKey);
            string decrypted = DecryptUsingRSAParam(encrypted, privateKey);

            Console.WriteLine("Asymmetric RSA - Using RSA Params");
            Console.WriteLine("Encrypted:{0}", Convert.ToBase64String(encrypted));
            Console.WriteLine("Decrypted:{0}", decrypted);

            Console.WriteLine("Asymmetric RSA - Using Persistent Key Container");
            encrypted = EncryptUsingContainer(clearText, KeyContainerName);
            decrypted = DecryptUsingContainer(encrypted, KeyContainerName);

            Console.WriteLine("Encrypted:{0}", Convert.ToBase64String(encrypted));
            Console.WriteLine("Decrypted:{0}", decrypted);

            Console.ReadLine();
        }
开发者ID:jbijoux,项目名称:Exam-70-483,代码行数:35,代码来源:Program.cs

示例9: Main

        static void Main(string[] args)
        {
            try
            {
                UnicodeEncoding ByteConverter = new UnicodeEncoding();

                byte[] dataToEncrypt = ByteConverter.GetBytes("bbbbbbbb");
                byte[] encryptedData;
                byte[] decryptedData;
                char result;
                using(RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
                {
                    encryptedData = RSAEncrypt(dataToEncrypt, RSA.ExportParameters(false), false);
                    foreach (byte number in encryptedData)
                    {
                        result = Convert.ToChar(number);
                        Console.WriteLine($"number: {number} convert: {result}");
                    }
                    Console.WriteLine($"tam> {encryptedData.Length}");
                    decryptedData = RSADecrypt(encryptedData, RSA.ExportParameters(true), false);

                    Console.WriteLine($"1 - {ByteConverter.GetString(decryptedData)}");
                }
            }
            catch (ArgumentNullException)
            {
                Console.WriteLine("Encryption failed");
            }

            Console.ReadKey();
        }
开发者ID:Patiqundead,项目名称:Seguranca,代码行数:31,代码来源:Program.cs

示例10: OAuthServerHelper

		static OAuthServerHelper()
		{
			RSAParameters privateRsaParameters;
			RSAParameters publicRsaParameters;
			using (var rsaKeyGen = new RSACryptoServiceProvider(RsaKeySize))
			{
				privateRsaParameters = rsaKeyGen.ExportParameters(true);
				publicRsaParameters = rsaKeyGen.ExportParameters(false);
			}

			Tuple<byte[], byte[]> aesKeyAndIV;
			using (var aesKeyGen = new AesCryptoServiceProvider())
			{
				aesKeyAndIV = Tuple.Create(aesKeyGen.Key, aesKeyGen.IV);
			}

			rsa = new ThreadLocal<RSACryptoServiceProvider>(() =>
			{
				var result = new RSACryptoServiceProvider();
				result.ImportParameters(privateRsaParameters);
				return result;
			});

			aes = new ThreadLocal<AesCryptoServiceProvider>(() =>
			{
				var result = new AesCryptoServiceProvider();
				result.Key = aesKeyAndIV.Item1;
				result.IV = aesKeyAndIV.Item2;
				return result;
			});

			rsaExponent = OAuthHelper.BytesToString(publicRsaParameters.Exponent);
			rsaModulus = OAuthHelper.BytesToString(publicRsaParameters.Modulus);
		}
开发者ID:925coder,项目名称:ravendb,代码行数:34,代码来源:OAuthServerHelper.cs

示例11: GenerateKeypair

        public KeyPair GenerateKeypair(EncryptionType encryption)
        {
            int modulus;
            switch (encryption)
            {
                case EncryptionType.RSA_512:
                    modulus = 512;
                    break;

                case EncryptionType.RSA_1024:
                    modulus = 1024;
                    break;

                case EncryptionType.RSA_1536:
                    modulus = 1536;
                    break;

                case EncryptionType.RSA_2048:
                    modulus = 2048;
                    break;

                case EncryptionType.RSA_4096:
                    modulus = 4096;
                    break;

                default:
                    throw new ArgumentException("encryption");
            }

            KeyPair kp = null;

            using (var rsa = new RSACryptoServiceProvider(modulus))
            {
                try
                {
                    var privParams = rsa.ExportParameters(true);
                    var pubParams = rsa.ExportParameters(false);

                    var privBlob = rsa.ToXmlString(true);
                    var pubBlob = rsa.ToXmlString(false);

                    kp = new KeyPair
                    {
                        PrivKey = privBlob,
                        PubKey = pubBlob
                    };
                }
                catch (Exception)
                {
                    throw;
                }
                finally
                {
                    rsa.PersistKeyInCsp = false;
                }
            }

            return kp;
        }
开发者ID:derekjamescurtis,项目名称:foss-lock,代码行数:59,代码来源:RsaKeypairGenerator.cs

示例12: CreateKeys

 public static void CreateKeys(out string publicKey, out string privateKey)
 {
     using (var rsa = new RSACryptoServiceProvider())
     {
         publicKey = WritePublicKey(rsa.ExportParameters(false));
         privateKey = WritePrivateKey(rsa.ExportParameters(true));
     }
 }
开发者ID:yufeih,项目名称:Nine.Common,代码行数:8,代码来源:Rsa.cs

示例13: Gravar

        private static void Gravar(RSACryptoServiceProvider rsa)
        {
            RSAParameters p = rsa.ExportParameters(false);
            Gravar("ChavePublica.sec", p);

            p = rsa.ExportParameters(true);
            Gravar("ChavePublicaPrivada.sec", p);
        }
开发者ID:50minutos,项目名称:VS2010,代码行数:8,代码来源:Program.cs

示例14: AssignNewKey

		public void AssignNewKey()
		{
			using (var rsa = new RSACryptoServiceProvider(2048))
			{
				rsa.PersistKeyInCsp = false;
				_publicKey = rsa.ExportParameters(false);
				_privateKey = rsa.ExportParameters(true);
			}
		}
开发者ID:dance2die,项目名称:Project.EncryptTwitter,代码行数:9,代码来源:DigitalSignature.cs

示例15: GetPubKey

 /// <summary>
 /// Used to acquire a public key and privately store the private key, intended to be used
 /// to establish initial trust with a new account.
 /// </summary>
 /// <returns>The public version of the key</returns>
 public static RSAParameters GetPubKey()
 {
     using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
     {
         RSAParameters val = RSA.ExportParameters(false);
         vault.Add(Encoding.ASCII.GetString(val.Modulus), RSA.ExportParameters(true));
         return val;
     }
 }
开发者ID:Zelknolf,项目名称:Mundasia_SRD5,代码行数:14,代码来源:Encryption.cs


注:本文中的System.Security.Cryptography.RSACryptoServiceProvider.ExportParameters方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。