↓ মূল বিষয়ে যান
  1. নিবন্ধ/

উইন্ডোজ 8 এ এইএস ডিক্রিপশন

Rubén Infante Docio
লেখক
Rubén Infante Docio
সফটওয়্যার ইঞ্জিনিয়ার

আজ আমরা এনক্রিপশনের সুন্দর জগত সম্পর্কে কথা বলতে যাচ্ছি,](http://www.antonio-ramos.es/2008/06/cifrar-versus-encriptar.html) এনক্রিপ্ট করা [(ক্রিপ্টে রাখা ) নয়।

সুরক্ষা গুরুত্বপূর্ণ, এবং এ কারণেই আমরা কীভাবে সার্ভারে এনক্রিপ্ট করতে এবং মেট্রো অ্যাপ্লিকেশনগুলিতে উইন্ডোজ 8 ক্লায়েন্টকে ডিক্রিপ্ট করতে পারি তা দেখতে যাচ্ছি।

এই উদাহরণের জন্য আমরা 256 বাইট এনক্রিপশন সহ AES ব্যবহার করব (সামরিক এনক্রিপশন)

পরিবেশনকারী দল
#

public string Get()
        {
            //
            String original = "1234567812345678";
            String key = "CLAVEDESEGURIDAD";
            byte[] KeyArr = System.Text.Encoding.ASCII.GetBytes(key);
            String iv = "VECTORINICIALIZACION";
            byte[] IvArr = System.Text.Encoding.ASCII.GetBytes(iv);
            using (AesManaged myAes = new AesManaged())
            {
                return EncryptStringToBytes_Aes(original, KeyArr, IvArr);
            }

        }
        static string EncryptStringToBytes_Aes(string plainText, byte[] Key, byte[] IV)
        {
            byte[] encrypted;
            using (AesManaged aesAlg = new AesManaged())
            {
                ICryptoTransform encryptor = aesAlg.CreateEncryptor(Key, IV);

                using (MemoryStream msEncrypt = new MemoryStream())
                {
                    using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
                    {
                        using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
                        {
                            swEncrypt.Write(plainText);
                            swEncrypt.Flush();
                            encrypted = msEncrypt.ToArray();
                            return Convert.ToBase64String(encrypted);
                        }
                    }
                }
            }

        }

গ্রাহক অংশ

 function RunSample(cadenacifradaenbase64) {

	var Algorithm = Windows.Security.Cryptography.Core.SymmetricKeyAlgorithmProvider.openAlgorithm("AES_CBC");
        	var keymaterial2 = Windows.Security.Cryptography.CryptographicBuffer.convertStringToBinary("CLAVEDESEGURIDAD", Windows.Security.Cryptography.BinaryStringEncoding.utf8);
        	var key2;
        	try {
        	    key2 = Algorithm.createSymmetricKey(keymaterial2);

        	}
       	 catch (ex) {
        	    Scenario5Output.textContent += ex.message;
        	    Scenario5Output.textContent += "An invalid key size was selected for the given algorithm.n";
        	    return;
       	 }
	var bufferCifrado = Windows.Security.Cryptography.CryptographicBuffer.decodeFromBase64String(cadenacifradaenbase64);
	var iv = Windows.Security.Cryptography.CryptographicBuffer.convertStringToBinary("VECTORINICIALIZACION", Windows.Security.Cryptography.BinaryStringEncoding.utf8);
	var decrypted = Windows.Security.Cryptography.Core.CryptographicEngine.decrypt(key2, bufferCifrado , iv);
        var solucion = Windows.Security.Cryptography.CryptographicBuffer.convertBinaryToString(Windows.Security.Cryptography.BinaryStringEncoding.utf8, decrypted);
}

যদি আমি দেখি যে আপনি এই ধরণের নিবন্ধটি পছন্দ করেছেন, পরের দিন আমরা বিপরীত প্রক্রিয়াটি চালিয়ে যাব

Related