Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/03/2011, 10:14
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Proteger xml y/o carpetas en CD ejecutable con "autorun" desactivado

Bueno lo que sucede es que el código xml lo puedes encriptar pero no va a estar en formato xml, tienes que hacerlo en un archivo y que el lenguaje que hayas usado o el programa que hayas usado interprete lo que hayas encriptado, un ejemplo usando PHP
Código PHP:
Ver original
  1. <?php
  2. function cryptMessage($message, $key){
  3.     /* Open the cipher */
  4.     $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');
  5.  
  6.     /* Create the IV and determine the keysize length, use MCRYPT_RAND
  7.      * on Windows instead */
  8.     $ks = mcrypt_enc_get_key_size($td);
  9.     $iv = mcrypt_create_iv($ks, MCRYPT_RAND);
  10.  
  11.     /* Create key */
  12.     $key = substr(md5($key), 0, $ks);
  13.  
  14.     /* Intialize encryption */
  15.     mcrypt_generic_init($td, $key, $iv);
  16.  
  17.     /* Encrypt data */
  18.     $encrypted = mcrypt_generic($td, $message);
  19.  
  20.     /* Terminate encryption handler */
  21.  
  22.     return array('crypt' => $encrypted,
  23.         'key' => $key,
  24.         'iv' => $iv);
  25. }
  26.  
  27. function decryptMessage($encrypted, $key, $iv){
  28.     /* Open the cipher */
  29.     $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');
  30.  
  31.     /* Initialize encryption module for decryption */
  32.     mcrypt_generic_init($td, $key, $iv);
  33.  
  34.     /* Decrypt encrypted string */
  35.     $decrypted = mdecrypt_generic($td, $encrypted);
  36.  
  37.     /* Terminate decryption handle and close module */
  38.  
  39.     /* Show string */
  40.     return trim($decrypted);
  41. }
  42.  
  43. $xml = <<<XML
  44. <main>
  45.     <content>
  46.         <foo>foo</foo>
  47.         <bar>bar</bar>
  48.     </content>
  49. </main>
  50. XML;
  51. $key = "llave secreta";
  52.  
  53. $crypt = cryptMessage($xml, $key);
  54. print_r($crypt);
  55. echo '<p>-----------------------------------------<p>';
  56. echo decryptMessage($crypt['crypt'], $crypt['key'], $crypt['iv']);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 26/03/2011 a las 20:15