.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
.12
.13
.14
.15
.16
.17
.18
.19
.20
.21
.22
.23
.24
.25
.26
.27
.28
.29
.30
.31
.32
.33
.34
.35
.36
.37
.38
.39
.40
.41
.42
.43
.44
.45
.46
.47
.48
.49
.50
.51
.52
.53
.54
.55
.56
.57
.58
.59
.60
.61
.62
.63
.64
.65
.66
.67
.68
.69
.70
.71
.72
.73
.74
.75
.76
.77
.78
.79
.80
.81
.82
.83
.84
.85
.86
.87
.88
.89
.90
.91
.92
.93
.94
.95
.96
.97
.98
.99
.100
.101
.102
.103
.104
.105
.106
.107
.108
.109
.110
.111
.112
|
|
<?php
/******************************************************************************/
/* */
/* __ ____ */
/* ___ / / ___ / __/__ __ _____________ ___ */
/* / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-< */
/* / .__/_//_/ .__/___/\___/\_,_/_/ \__/\__/___/ */
/* /_/ /_/ */
/* */
/* */
/******************************************************************************/
/* */
/* Titre : Cryptage et decryptage */
/* */
/* URL : http://www.phpsources.org/scripts481-PHP.htm */
/* Auteur : freemh */
/* Date édition : 06 Jan 2009 */
/* Website auteur : http://www.tutoslinux.com */
/* */
/******************************************************************************/
/*--------------------------------------------------------------------------------
Archivo: eccryption.php
Autor: Francisco Echarte [ patxi@eslomas.com ]
Fecha: 2001-07-25
Clases: Crypter
Objetivo:
Clase que ofrece funciones para la encriptación y desencriptación
Observaciones:
Basado en una observación vista en la página de md5 en php.net
Al constructor hay que pasarle la palabra utilizada para la encriptación.
Modificaciones:
LICENCIA
========
Copyright (c) 2001 Francisco Echarte <patxi@eslomas.com>
This software is released under the GNU Public License
Please see http://www.gnu.org/copyleft/lgpl.txt for licensing details!
--------------------------------------------------------------------------------*/
class Crypter{
var $key;
/*----------------------------------------------------------------------
Entrada: $clave => clave que va a utilizar el crypter
Salida : nada
Efecto : es el constructor de la clase.
----------------------------------------------------------------------*/
function Crypter($clave){
$this->key = $clave;
}
/*----------------------------------------------------------------------
Entrada: $clave => clave que va a utilizar el crypter
Salida : nada
Efecto : actualiza la clave
----------------------------------------------------------------------*/
function setKey($clave){
$this->key = $clave;
}
function keyED($txt) {
$encrypt_key = md5($this->key);
$ctr=0;
$tmp = "";
for ($i=0;$i<strlen($txt);$i++) {
if ($ctr==strlen($encrypt_key)) $ctr=0;
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
$ctr++;
}
return $tmp;
}
function encrypt($txt){
srand((double)microtime()*1000000);
$encrypt_key = md5(rand(0,32000));
$ctr=0;
$tmp = "";
for ($i=0;$i<strlen($txt);$i++){
if ($ctr==strlen($encrypt_key)) $ctr=0;
$tmp.= substr($encrypt_key,$ctr,1) .
(substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
$ctr++;
}
return base64_encode($this->keyED($tmp));
}
function decrypt($txt) {
$txt = $this->keyED(base64_decode($txt));
$tmp = "";
for ($i=0;$i<strlen($txt);$i++){
$md5 = substr($txt,$i,1);
$i++;
$tmp.= (substr($txt,$i,1) ^ $md5);
}
return $tmp;
}
}
?>
|