コード例 #1
0
        public void StartEncryptAndDecrypt()
        {
            var generator = new CryptographyKey();

            if (!generator.IsKeyCreated())
            {
                var result = generator.CanCreateKey("");

                if (!result)
                {
                    // A chave não foi criada, deseja usar a padrão?
                }

                var key = generator.IsKeyCreated() ? generator.GetKey() : generator.GetDefaultKey();
                var iv  = generator.IsKeyCreated() ? generator.GetIv() : generator.GetDefaultIv();

                var aes = new AesCryptography {
                    CipherMode  = System.Security.Cryptography.CipherMode.ECB,
                    KeySize     = CryptographyKeySize.KeySize128,
                    PaddingMode = System.Security.Cryptography.PaddingMode.PKCS7
                };

                var hash      = Hash.Compute("Texto para exemplo!");
                var encrypted = aes.Encrypt(hash, generator.GetKey(), generator.GetIv(), out var success);

                if (success)
                {
                    var decrypted = aes.Decrypt(hash, key, iv, out success);

                    if (success)
                    {
                    }
                }
            }
        }
コード例 #2
0
        public void StartKeyGenerator()
        {
            var generator = new CryptographyKey();

            if (!generator.IsKeyCreated())
            {
                var result = generator.CanCreateKey("");

                if (!result)
                {
                    // A chave não foi criada, deseja usar a padrão?
                }

                var key = generator.IsKeyCreated() ? generator.GetKey() : generator.GetDefaultKey();
                var iv  = generator.IsKeyCreated() ? generator.GetIv() : generator.GetDefaultIv();
            }
        }
コード例 #3
0
 private byte[] GetKey()
 {
     return(key.IsKeyCreated() ? key.GetKey() : key.GetDefaultKey());
 }