Mulai cepat: Mengenkripsi dan mendekripsi teks dengan menggunakan MIP SDK (C#)

Panduan memulai cepat ini menunjukkan cara menggunakan lebih banyak MIP Protection SDK. Saat Anda menggunakan salah satu templat perlindungan yang Anda cantumkan pada panduan mulai cepat sebelumnya, Anda memakai pengendali perlindungan untuk mengenkripsi teks ad hoc. Kelas penanganan perlindungan menyediakan berbagai operasi untuk menerapkan dan menghapus perlindungan.

Prasyarat

Jika Anda belum melakukannya, pastikan untuk menyelesaikan prasyarat berikut sebelum melanjutkan:

Menambahkan logika untuk mengatur dan mendapatkan templat perlindungan

Tambahkan logika untuk mengenkripsi teks ad hoc dengan menggunakan objek Mesin perlindungan.

  1. Di Penjelajah Solusi, buka file .cs dalam proyek Anda yang berisi implementasi Main() metode . Ini menggunakan nama yang sama dengan proyek yang memuatnya, yang Anda tentukan selama pembuatan proyek.

  2. Menjelang akhir bagian Main() body, tempat Anda terakhir berhenti pada panduan memulai cepat sebelumnya, sisipkan kode berikut:

    //Set text to encrypt and template ID
    string inputText = "<Sample-text>";
    string templateId = "<template-id>";
    //Create a template based publishing descriptor
    ProtectionDescriptor protectionDescriptor = new ProtectionDescriptor(templateId);
    
    //Create publishing settings using protection descriptor
    PublishingSettings publishingSettings = new PublishingSettings(protectionDescriptor);
    
    //Generate Protection Handler for publishing
    var publishingHandler = Task.Run(async() => await protectionEngine.CreateProtectionHandlerForPublishingAsync(publishingSettings)).Result;
    
    //Encrypt text using Publishing handler
    long bufferSize = publishingHandler.GetProtectedContentLength(inputText.Length, true);
    byte[] inputTextBuffer = Encoding.ASCII.GetBytes(inputText);
    byte[] encryptedTextBuffer = new byte[bufferSize];
    publishingHandler.EncryptBuffer(0, inputTextBuffer, encryptedTextBuffer, true);
    Console.WriteLine("Original text: {0}", inputText);
    Console.WriteLine("Encrypted text: {0}", Encoding.UTF8.GetString(encryptedTextBuffer));
    
    //Create a Protection handler for consumption using the same publishing license
    var serializedPublishingLicense = publishingHandler.GetSerializedPublishingLicense();
    PublishingLicenseInfo plInfo = PublishingLicenseInfo.GetPublishingLicenseInfo(serializedPublishingLicense, mipContext);
    ConsumptionSettings consumptionSettings = new ConsumptionSettings(plInfo);
    var consumptionHandler = protectionEngine.CreateProtectionHandlerForConsumption(consumptionSettings);
    
    //Use the handler to decrypt the encrypted text
    long buffersize = encryptedTextBuffer.Length;
    byte[] decryptedBuffer = new byte[bufferSize];
    var bytesDecrypted = consumptionHandler.DecryptBuffer(0, encryptedTextBuffer, decryptedBuffer, true);
    byte[] OutputBuffer = new byte[bytesDecrypted];
    for (int i = 0; i < bytesDecrypted; i++){
       OutputBuffer[i] = decryptedBuffer[i];
    }
    
    Console.WriteLine("Decrypted content: {0}", Encoding.UTF8.GetString(OutputBuffer));
    Console.WriteLine("Press a key to quit.");
    Console.ReadKey();
    
    
  3. Di bagian akhir Main(), temukan blok penghentian aplikasi yang dibuat oleh panduan mulai cepat pertama dan tambahkan baris penangan berikut:

    // Application Shutdown
    publishingHandler = null;
    consumptionHandler = null;
    protectionEngine = null;
    protectionProfile = null;
    mipContext = null;
    
  4. Ganti nilai placeholder dalam kode sumber menggunakan nilai berikut:

    Pengganti sementara Nilai
    <teks sampel> Contoh teks yang ingin Anda enkripsi, misalnya: My secure text.
    <template-id> ID template yang disalin dari keluaran konsol di panduan memulai cepat sebelumnya, misalnya: bb7ed207-046a-4caf-9826-647cff56b990.

Membangun dan menguji aplikasi

Buat dan uji aplikasi klien Anda.

  1. Gunakan Ctrl+Shift+B (Build Solution) untuk membangun aplikasi klien Anda. Jika Anda tidak memiliki kesalahan build, gunakan F5 (Mulai penelusuran kesalahan) untuk menjalankan aplikasi Anda.

  2. Jika proyek Anda berhasil dibangun dan berjalan, aplikasi mungkin meminta autentikasi melalui MSAL setiap kali SDK memanggil metode Anda AcquireToken() . Jika kredensial yang di-cache sudah ada, MSAL tidak meminta Anda untuk masuk, dan aplikasi menunjukkan daftar label, diikuti dengan informasi pada label yang diterapkan dan file yang dimodifikasi.

 Original content: My secure text
 Encrypted content: c?_hp???Q??+<?
 Decrypted content: My secure text
 Press a key to quit.

Langkah berikutnya