<?php
/*  
	Sistema de Portales de Soler y Palau SA de CV
	(2015) Desarrollos y Servicios en Tecnología Inteligente S de RL de CV
	Versión 1.0
	Última Actualización: 29/06/2015
	Código del Módulo: SHA002
*/
	// Función de encriptación
	function encriptar($cadena, $clave = 'SPA861201DK4') {
		if(strlen($clave)>32) {	
			$clave = substr($clave,0,32);
		}
		while(strlen($clave)<32) {	
			$clave .= $_SESSION['diaAcceso1'];
		}
        $cifrado = MCRYPT_RIJNDAEL_256;
        $modo = MCRYPT_MODE_ECB;
        return rawurlencode(base64_encode(mcrypt_encrypt($cifrado, $clave, $cadena, $modo,mcrypt_create_iv(mcrypt_get_iv_size($cifrado, $modo), MCRYPT_RAND))));
    }
    // Función para desencriptación 
    function desencriptar($cadena, $clave = 'SPA861201DK4') {
		if(strlen($clave)>32) {	
			$clave = substr($clave,0,32);
		}
		$claveA = $clave;
		while(strlen($clave)<32) {	
			$clave .= $_SESSION['diaAcceso1'];
		}
		// Esta sección administra los cambios en el carácter de relleno
		if($_SESSION['diaAcceso0']!=$_SESSION['diaAcceso1']) {
			while(strlen($claveA)<32) {	
				$claveAnterior .= $_SESSION['diaAcceso0'];
			}
			$_SESSION['diaAcceso0'] = $_SESSION['diaAcceso1'];			
			foreach($arrEncriptadas as $strEncriptada) {
				if(isset($_SESSION[$strEncriptada])) {
					$_SESSION[$strEncriptada] = encriptar(desencriptar($_SESSION[$strEncriptada],$claveAnterior),$clave);
				}
			}
		}
        $cifrado = MCRYPT_RIJNDAEL_256;
        $modo = MCRYPT_MODE_ECB;
        return str_replace(chr(0),'',mcrypt_decrypt($cifrado,$clave,base64_decode(rawurldecode($cadena)), $modo,mcrypt_create_iv(mcrypt_get_iv_size($cifrado, $modo), MCRYPT_RAND)));		
    }
?>