Miten Salaaxml-tiedosto Ohjelmallisesti

Salaaminen XML . Riippulukot kuva Christopher Hall Fotolia.com

Yritykset usein riippuvaisia ​​XML vaihtaa tietoja, mutta tietojen jakaminen osuu riski.Luottokortin numeroita, puhelinnumeroita, osoitteita, asiakkaan nimet ja oma tietoa liiketoiminnasta muodostavat joillakin alueilla arkaluonteisia tietoja.Mikä voisi olla tarkoituksenmukaista jakaa yhden asiakkaan, kumppanin tai asiakkaan, ei ehkä ole turvallinen toisen.Onneksi XML voidaan salata sen suojelemiseksi.Ohjeita käytä Net Framework ja C # kieltä, mutta XML salaustekniikoita olemassa Java ja muissa puitteissa sekä.

mitä tarvitset

  • Visual C # kehitysympäristö (ks Resurssit osasta linkki ladata nimenomaistaversion ilmaiseksi)

salata ja purkaa XML-tiedosto

  1. Luo XML-dokumentti, joka sisältää arkaluonteisia tietoja:

    & lt; Tilaa & gt;
    & lt; Tuotteet & gt;
    & lt; Tuote & gt; 444444
    & lt; Määrä & gt; 3 & lt; / Määrä & gt;
    & lt; CostPerItem & gt; 50,00 & lt; / CostPerItem & gt;
    & lt; / Tuote & gt;
    & lt; / kohteet & gt;
    & lt; CreditCardNumber & gt; 0000123456789000 & lt; / CreditCardNumber & gt;
    & lt; CreditCardType & gt; Visa & lt; / CreditCardType & gt;
    & lt; / Tilaus & gt;

  2. Tallenna tämä kuva \ "Order.xml \" kansioon nimeltä tilaukset.

  3. Luo konsoli sovellus Visual Studio.Avaa Visual Studio.Valitse \ "Tiedosto - & gt; New Project, \" ja sitten valitse kuvake \ "Console Application. \" Lisää viittaus System.Security hankkeeseen.Lisää seuraava \ "käyttäen \" lausuntoja yläosassa ohjelmatiedostosta:

    käyttäen System
    GO
    käyttäen System.Security.Cryptography
    GO
    käyttäen System.Security.Cryptography.Xml
    GO
    käyttäen System.Text
    GO
    käyttäen System.Xml;

  4. Lue XML-tiedostoon.Sisällä pääasiallinen menetelmä oman ohjelman, instanssia XmlDocument kohteen ja lataa XML-tiedoston siihen:

    XmlDocument xmlDoc = uusi XmlDocument ()
    GO

    & amp; # 9, xmlDoc.Load (\ & amp; quot; C: \\\\ Tilaukset \\\\ order.xml \ & amp; quot;);
  5. Luo salausavaimen.On olemassa useita valita, vaihtelevien vahvuuksien ja työllistää erilaisia ​​avaimia (katso \ "Salaus Net \" Resurssit osiossa).Tässä esimerkissä käytetään TripleDES salausta:

    TripleDESCryptoServiceProvider encryptionKey = uusi TripleDESCryptoServiceProvider ();

  6. Eristä XML elementti tiedosto salata ja instantiate XmlElement esine sen hillitsemiseksi.Salata koko tiedoston valitsemalla sen juurielementin.Tässä esimerkissä, juuri on solmu \ "Tehtävä \":

    XmlElement orderElem = xmlDoc.SelectSingleNode (\ "Order \") kuin XmlElement
    GO

    Jos halusi salata vain CreditCardInformation solmu, voit kirjoittaa sennäin:

    XmlElement orderElem = xmlDoc.SelectSingleNode (\ "tilausta / CreditCardInformation \") kuin XmlElement;

  7. Salaa tiedot käyttämällä salausavainta luotu edellä:

    EncryptedXml encXml = uusi EncryptedXml (xmlDoc)
    GO

    tavu [] encryptedOrder = encXml.EncryptData (orderElem, encryptionKey, false);
  8. instanssia EncryptedData esine.Aseta se URI ominaisuuksia sekä salattu XML-elementtejä ja salausalgoritmin:

    EncryptedData encryptedData = uusi EncryptedData ()
    GO

    & amp; # 9, encryptedData.Type = EncryptedXml.XmlEncElementUrl

    GO

    & amp; # 9; encryptedData.EncryptionMethod= uusi & amp; # 9; & amp; # 9; & amp; # 9;& Amp; # 9; & amp; # 9;

    EncryptionMethod (EncryptedXml.XmlEncTripleDESUrl);

  9. Aseta CipherData.CipherValue omaisuutta EncryptedData objektin tiedot sinulle salattua edellä:

    encryptedData.CipherData = uusi CipherData ()
    GO

    & amp; # 9, encryptedData.CipherData.CipherValue = encryptedOrder;
  10. Vaihda sisältöä xml solmu kanssa salatun sisällön:

    EncryptedXml.ReplaceElement (orderElem, encryptedData, false);

  11. Tallenna salattuja XML:

    xmlDoc.Save (\ "C: \\ Tilaukset \\ encryptedOrder.xml \");

  12. purkaa salatun datan, voit pohjimmiltaan kääntää prosessi.Tässä esimerkissä data salaus puretaan samassa ohjelmassa ja käyttää samaa muuttujaa kuin avain, joka salattu se.Vuonna reaalimaailman tilannetta, voisi lähettää avaimen vastaanottajalle erillisessä tiedoston salattu xml (tai jaa se jollakin muulla tavalla).Salauksenpurkukoodi seuraavasti:

    // Hanki tietoja tunnisteen nimi

    & amp; # 9, XmlElement encOrderElem = & amp; # 9; & amp; # 9, xmlDoc.GetElementsByTagName (\ & amp; quot; EncryptedData \ & amp; quot;)[0] kuin XmlElement

    GO

    // ladata tiedot EncryptedData vastustanut

    EncryptedData encData = uusi EncryptedData ()

    GO

    encData.LoadXml (encOrderElem)

    GO

    // Pura tiedot avaimella luotu edellä

    EncryptedXmlencryptedXml = uusi EncryptedXml ()

    GO

    tavu [] decryptedOrder = encryptedXml.DecryptData (encData, encryptionKey)

    GO

    // Vaihda salatun datan kanssa salaamattoman tallennettuja XML
    encryptedXml.ReplaceData (encOrderElem, decryptedOrder)

    GO

    // Tallenna toinen tiedosto
    xmlDoc.Save (\ & amp; quot; C: \\\\ Tilaukset \\\\ decryptedOrder.xml \ & amp; quot;);

Vinkkejä & amp;Varoituksia

  • Edellä on hyvin yksinkertainen esimerkki siitä, mitä voi olla erittäin monimutkainen prosessi.Salaus on valtava alue arvoinen laajan tutkimuksen.Katso viittaukset ja resurssit osissa tämän artikkelin linkkejä edelleen ymmärrystä.
  • edellä koodi oletetaan, että olet asettanut näyte XML-tiedosto kansio nimeltä tilaukset, joka asuu juuri ajaa lettered \ "C \" Jos järjestelmän kokoonpano on erilainen tai oletluonut näyte muissa kansioissa, muista vaihtaa tiedostopolut vastaavasti.

Resurssit

  • \ "Salaus Net \"
  • \ "Microsoft Express Latauksia: Lataa Visual C # 2008 Express Edition \"
663
0
3
Xml