Como usar o md5 no aplicativo
Trabalho acadêmico: Como usar o md5 no aplicativo. Pesquise 862.000+ trabalhos acadêmicosPor: artradical • 31/5/2013 • Trabalho acadêmico • 1.088 Palavras (5 Páginas) • 545 Visualizações
Passo 2
MD5
A primeira que vou falar é sem dúvida a mais comum, chama md5 que é um algoritmo de um hash de 128 bits. Não vou tentar explicar o que é hash nem algoritmo agora… Só vou explicar como você pode usar o md5 na sua aplicação.
O md5 gera uma string alfa-numérica de 32 caracteres, não importa se você tá gerando o md5 de duas letras ou de um texto de 20 parágrafos… O md5 gerado sempre vai ter 32 caracteres.
Você pode usar o md5 na hora de salvar um dado sigiloso (senhas) o banco… Com isso, ninguém tem acesso à senha original do cliente. Depois é só comparar o md5 do que foi digitado no campo senha (na hora do login) com o que está armazenado no banco, se bater, tá tudo certo.
Infelizmente o md5 tem um “problema”… Você pode, com muita dificuldade (preste atenção: muita dificuldade), gerar dois md5 iguais. Duas strings diferentes que acabem como um mesmo md5. Isso é raríssimo, mas pode acontecer.
Pra usar o md5 no PHP é só usar da seguinte forma:
$string = 'O rato reu a ropa do rei de Roma';
$codificada = md5($string);
echo "Resultado da codificação usando md5: " . $codificada;
// 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:
$string = 'O rato reu a ropa do rei de Roma';
$codificada = sha1($string);
echo "Resultado da codificação usando sha1: " . $codificada;
// b186b709f7cf5a1d98d413379a66e511df8d59a
Passo 3
BASE64 em JAVA:
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import java.io.IOException;
public class TesteBase64
public static void main(String args[]){
BASE64Encoder encoder = new BASE64Encoder();
String code = encoder.encodeBuffer("Teste Base64".getBytes());
//Vai imprimir "Teste Base64 -(codificado)- VGVzdGUgQmFzZTY0"
System.out.println("Teste Base64 -(codificado)- " + code);
BASE64Decoder decoder = new BASE64Decoder();
try{
byte[] decoded = decoder.decodeBuffer("VGVzdGUgQmFzZTY0");
//Vai imprimir "VGVzdGUgQmFzZTY0 -(decodificado)- Teste Base64"
System.out.println("VGVzdGUgQmFzZTY0 -(decodificado)- " + new String(decoded));
}catch(IOException ex){
}
}
}
MD5 em JAVA:
String s1 = "teste 3";
MessageDigest md = MessageDigest.getInstance("MD5");
BigInteger hash = new BigInteger(1, md.digest(s1.getBytes()));
String s2 = hash.toString(16);
System.out.println("M1: " + s2);
//Saida: "M1: bf99afd7f589db5b524cb34f316277b1"
SHA1 em JAVA:
String s1 = "teste 3";
MessageDigest md = MessageDigest.getInstance("SHA-1");
BigInteger hash = new BigInteger(1, md.digest(s1.getBytes()));
String s2 = hash.toString(16);
System.out.println("M1: " + s2);
//Saida: "M1: bf99afd7f589db5b524cb34f316277b1"
BASE64 em ASP:
<%
encriptado = base64_encode("texto")
%>
MD5 em ASP:
<%
Dim strPassWord, strHash
strPassWord = "abc"
strHash = hex_md5(strPassWord)
Response.Write("<p><b>strPassWord:</b> " & strPassWord & "</p>")
Response.Write("<p><b>strHash:</b> " & strHash & "</p>")
%>
SHA1 em ASP:
<%
Dim strPassWord, strHash
strPassWord = "abc"
strHash = hex_sha1(strPassWord)
Response.Write("<p><b>strPassWord:</b> " & strPassWord & "</p>")
Response.Write("<p><b>strHash:</b> " & strHash & "</p>")
%>
SQL Injection
Desenvolvimento
A Injeção de SQL, mais conhecida através do termo americano SQL Injection, é um tipo de ameaça de segurança que se aproveita de falhas em sistemas que interagem com bases de dados via SQL. A injeção de SQL ocorre quando o atacante consegue inserir uma série de instruções SQL dentro de uma consulta (query) através da
...