Archivo

Archivo para la categoría ‘Ejemplo’

Script para renombrar ficheros (PHP)

Martes, 11 de Noviembre de 2008

Pues bueno, yo bajo bastante anime, series, etc… y no me gusta tener nombres asquerosos en los ficheros. Debido a esto he tenido que idear un scriptillo para renombrar ficheros en PHP.

Se basa en una expresión regular para encontrar el número del capítulo en cuestión, y a partir de ahí generar un nombre nuevo, limpio y bonito :)

En este ejemplo, se han usado las dos temporadas de Code Geass, donde los ficheros se llamaban “Code_Geass_.1.by_anime_(x-264).mp4″ (vamos, feo de narices) xD

Leer más…

Sonycrow Código, Ejemplo, Php, Programación, Scripts

Cifrado con Rijndael (AES) simétrico en PHP

Lunes, 22 de Septiembre de 2008

A continuación, un ejemplo funcional de un cifrado de datos simétrico usando Rijndael en su modo de 256bits.

<?php
header(“Content-Type: text/plain; charset=utf-8″);

# Creamos una clave de 256bits o 32 caracteres
$key = md5(“Clave para el cifrado de datos `12345`!·$%&/()=”);

# Cadena a encriptar
$data = “Estamos aquí reunidos para ver el funcionamiento de un cifrado simétrico. ALE!”;

/**
* PROCESO DE CIFRADO
**/
# Inicializa el mudulo de cifrado
$td = mcrypt_module_open(‘rijndael-256′, ”, ‘ofb’, ”);

# Crea el vector de inicializacion y establece el tamaño de la clave (aleatorio)
$vi = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);

# Inicializa el cifrado
mcrypt_generic_init($td, $key, $vi);

# Cifra los datos
$encryptedData = mcrypt_generic($td, $data);

# Termina el manejador de cifrado y cierra el modulo
mcrypt_generic_deinit($td);
mcrypt_module_close($td);

# Muestra el cifrado
echo “Cifrado:\n{$encryptedData}\n\n”;

/**
* PROCESO DE DESCIFRADO
**/
# Inicializa el mudulo de cifrado
$td = mcrypt_module_open(‘rijndael-256′, ”, ‘ofb’, ”);

# Inicializa el cifrado
mcrypt_generic_init($td, $key, $vi);

# Crea el vector de inicializacion y establece el tamaño de la clave (aleatorio)
$vi = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);

# Descifra los datos
$decryptedData = mdecrypt_generic($td, $encryptedData);

# Termina el manejador de descifrado y cierra el modulo
mcrypt_generic_deinit($td);
mcrypt_module_close($td);

# Muestra el descifrado
echo “Descifrado:\n{$decryptedData}\n\n”;
?>

Aquí se ha utilizado una clave de longitud fija de 32 caracteres, pero hay muchas más variantes y posibilidades. Desde utilizar una longitud aleatoria hasta tener 2 claves y un sin fin de opciones más. Podemos complicarlo lo que queramos, contra más complicado más difícil será reventarlo (aunque todavía no se conoce el método).

Ale!!

Sonycrow Código, Ejemplo, Php