quarta-feira, 26 de dezembro de 2012

Search for underscore w/ LIKE

select * from foo where bar like '%\\_baz'

sexta-feira, 7 de dezembro de 2012

Criptografia no PHP usando md5, sha1 e base64 [Linux]

Pra usar o md5 no PHP é só usar da seguinte forma:

1$string 'O rato reu a ropa do rei de Roma';
2$codificada = md5($string);
3echo "Resultado da codificação usando md5: " $codificada;
4// 54cf74d1acdb4037ab956c269b63c8ac

SHA1

A outra hash de mão única é o sha1. Ele é praticamente identico ao md5, só que tem 160 bits, o que acaba criando

uma string-resultado maior: 40 caracteres alfa-numéricos. Outro ponto do sha1 é que, por ser 160 bits

e gerar uma cadeia de caracteres maior, uma colisão (encontrar duas strings que, codificadas, sejam a mesma coisa)

é bem mais rara que numa chave de 128bits.

Usar o sha1 no PHP é exatamente a mesma coisa que o md5, só que mudando o nome da função:

1$string 'O rato reu a ropa do rei de Roma';
2$codificada = sha1($string);
3echo "Resultado da codificação usando sha1: " $codificada;
4// b186b709f7cf5a1d98d413379a66e511df8d59a4

BASE64

É um método para codificação dos dados para transferência na Internet. Ela é uma codificação de mão dupla,

e usando uma segunda função você pode descobrir a string original de uma string codificada.

Para usar ela no PHP você tem as duas formas:

01$string 'O rato reu a ropa do rei de Roma';
02 
03$codificada base64_encode($string);
04 
05echo "Resultado da codificação usando base64: " $codificada;
06// TyByYXRvIHJldSBhIHJvcGEgZG8gcmVpIGRlIFJvbWE=
07 
08echo "
09 
10";
11 
12$original base64_decode($codificada);
13 
14echo "Resultado da decodificação usando base64: " $original;
15// O rato reu a ropa do rei de Roma
16 
17// Note que $original vai ser idêntica a $string

Viram como é simples? Com esses recursos é possível deixar a aplicação bem mais segura e, por que não, organizada.