Mr.Sheen 0 Denunciar post Postado Outubro 10, 2009 <? /* -------------------------------------- Criado por: Leandro Battochio email: battochio_8@hotmail.com Versão: 1.0 Detalhes: 1. Adcionado base64 no final da string -------------------------------------- */ class hash{ private $CHAVE; private $QTDE; private $LEN; function __construct($key) { foreach(str_split($key) as $value) { $this->CHAVE += ord($value)+ord($value); } } function cript($str) { foreach(str_split($str) as $value) { $v .= dechex((ord($value)+strlen($this->CHAVE)+1)+$this->CHAVE); } $atrapalha = substr(base64_encode($v),0,10); $this->LEN = -4; return $v.$atrapalha; } function decript($str) { $this->QTDE = 3; foreach(str_split(trim($str),$this->QTDE) as $value) { $v .= chr((hexdec($value)-strlen($this->CHAVE)-1)-$this->CHAVE); } return substr($v,0,$this->LEN); } } ?> Como usar: <? $classe = new hash("chave"); echo $classe->cript("Meu Texto"); // com essa chave e esse texto retorna: //25827028022b25f27028327f27a echo "<br>"; echo $c->decript("25827028022b25f27028327f27a"); // retorna Meu Texto ?> Creio que este nao possui o bug dos caracteres maiusculsos/minusculos nao alterarem na encriptação/descriptação da string. ( caracteres da chave ) Compartilhar este post Link para o post Compartilhar em outros sites