コード例 #1
0
ファイル: Cipher.cs プロジェクト: cuongjpitdnu/Project
            public RSAKeysTypes GenerateKeys(RSAKeySize rsaKeySize)
            {
                int keySize = (int)rsaKeySize;

                if (keySize % 2 != 0 || keySize < 512)
                {
                    throw new Exception("Key should be multiple of two and greater than 512.");
                }

                var rsaKeysTypes = new RSAKeysTypes();

                using (var provider = new RSACryptoServiceProvider(keySize))
                {
                    var publicKey  = provider.ToXmlString(false);
                    var privateKey = provider.ToXmlString(true);

                    var publicKeyWithSize  = IncludeKeyInEncryptionString(publicKey, keySize);
                    var privateKeyWithSize = IncludeKeyInEncryptionString(privateKey, keySize);

                    rsaKeysTypes.PublicKey  = publicKeyWithSize;
                    rsaKeysTypes.PrivateKey = privateKeyWithSize;
                }

                return(rsaKeysTypes);
            }
コード例 #2
0
        public RSAKeysTypes GenerateKeys(RSAKeySize rsaKeySize)
        {
            int keySize = (int)rsaKeySize;

            if (keySize % 2 != 0 || keySize < 512)
            {
                throw new Exception("Ключ должен быть кратен 2!");
            }
            var rsaKeysTypes = new RSAKeysTypes();

            using (var provider = new RSACryptoServiceProvider(keySize))
            {
                var publicKey          = provider.ToXmlString(false);
                var privateKey         = provider.ToXmlString(true);
                var publicKeyWithSize  = IncludeKeyInEncryptionString(publicKey);
                var privateKeyWithSize = IncludeKeyInEncryptionString(privateKey);
                rsaKeysTypes.PublicKey  = publicKeyWithSize;
                rsaKeysTypes.PrivateKey = privateKeyWithSize;
            }
            return(rsaKeysTypes);
        }