Vamos começar aqui uma série de posts sobre como utilizar a excelente criptografia Blowfish nas linguagens PHP, Python e C. Blowfish é uma criptografia extremamente rápida e segura, sendo uma das criptografias utilizadas pelo ssh. Vamos fazer de forma que todos usem o mesmo formato, e possam trocar entre si os dados criptografados.
Primeiramente, você vai precisar do módulo Crypt_Blowfish do PEAR, que você pode baixar em: http://pear.php.net/package/Crypt_Blowfish.
Esse módulo é muito bom, porque ele verifica se você tem o mcrypt disponível. Se tiver, ele habilita, deixando a criptografia bem mais rápida.
Senão, ele utiliza um código próprio em PHP puro, podendo ser utilizado em qualquer servidor.
Nosso exemplo vai pegar um texto digitado por você em um form, criptografá-lo com Blowfish, com a senha escolhida, e depois codificar o resultado em base64, pra ficar facilmente intercambiável e pra não zuar o texto no navegador.
Como você pode ver, a classe é bem fácil de usar, bastante auto-explicativa:
<html>
<head><title>Crypt_Blowfish</title></head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
Senha: <input type="password" name="senha" value="<?php echo $_POST['senha'] ?>" size="28" />
<textarea rows="10" cols="30" name="texto">
<?php
require_once 'Blowfish.php';
if(isset($_POST['senha']))
{
$bf = new Crypt_Blowfish($_POST['senha']);
if(isset($_POST['codificar']))
else
}
?></textarea>
<input type="submit" name="codificar" value="Codificar" />
<input type="submit" name="decodificar" value="Decodificar" />
</form>
</body>
</html>