ATPS Software Seguro 2ª Etapa
Monografias: ATPS Software Seguro 2ª Etapa. Pesquise 862.000+ trabalhos acadêmicosPor: Geovane • 20/9/2013 • 882 Palavras (4 Páginas) • 1.005 Visualizações
Desenvolvimento de Software Seguro - Etapa 2
Data da entrega 26/09/2013
Analisar o código-fonte escrito na linguagem PHP (Hypertext Preprocessor) a seguir:
$texto_criptografado = base64_encode("senha");
echo $texto_criptografado;
O código acima demonstra a utilização do método de criptografia Hash base64.
Pesquise como utilizar na linguagem PHP outros dois métodos de criptografia que
sejam mais fortes que a criptografia base64, justificando por que são mais seguras.
Métodos de criptografia em php
MD5- Metodo mais comum , é um algoritimo de um hash de 128 bits. É um método mais
porque fera uma string alfa-numérica de 32 caracteres. Quando é preciso guardar um dado
importante que ninguém possa ter acesso usa-se o md5, é mais seguro e ninguém tem acesso
O único problema do md5 , é que se hover algum descuido pode se gerar dois md5 iguais ,
duas strings diferentes que acabem como o mesmo md5. É raro mas é um evento que pode
Modo de usar o md5 no php.
$string = ' Metodos de criptografia em php';
$codificada = md5($string);
echo "Resultado da codificação usando md5: " . $codificada;
// a6f964b1c15648a4488f1dacdbb6e2a8
SHA1- Uma outra maneira de usar criptografia em php é o sha1, parecido com o md5, mas
a diferença é que ele tem 160 bits, tem uma string maior de 40 caracteres alfa-numéricos,
que gera uma cadeia de caracteres maior, causando uma encontro de duas strings que,
codificadas são a mesma coisa.
Modo de usar o sha1 no php.
$string = 'Modo de usar o sha1 no php';
$codificada = sha1($string);
Echo "Resultado da codificação usando sha1: " . $codificada;
// dcef6a0bb35e30d1b67f77d3ee7d176a37c97424
Pesquisar como utilizar os métodos de criptografia utilizados no Passo 2, nas linguagens
Java e ASP (Active Server Pages). Observar que nessa pesquisa teremos três métodos de
criptografia (base64 e outros dois métodos resultado da pesquisa anterior).
Metodo de criptografia no Java
String texto = "teste 3";
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(texto.getBytes());
byte[] bytes = md.digest();
StringBuilder s = new StringBuilder();
for (int i = 0; i < bytes.length; i++) {
int parteAlta = ((bytes[i] >> 4) & 0xf) << 4;
int parteBaixa = bytes[i] & 0xf;
if (parteAlta == 0) {
s.append(Integer.toHexString(parteAlta | parteBaixa));
System.out.println("M1: " + s2);
//Saida: "M1: bf99afd7f589db5b524cb34f316277b1"
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import sun.misc.BASE64Encoder;
public class EncriptaSenha {
public static String encripta (String senha) {
MessageDigest digest = MessageDigest.getInstance("MD5");
digest.update(senha.getBytes());
BASE64Encoder encoder = new BASE64Encoder ();
return encoder.encode (digest.digest ());
} catch (NoSuchAlgorithmException ns) {
ns.printStackTrace ();
String s = "senha aqui";
MessageDigest md = MessageDigest.getInstance("SHA-1");
md.update( s.getBytes() );
byte[] hash = md.digest();
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < hash.length; i++) {
if ((0xff & hash[i]) < 0x10)
hexString.append( "0" + Integer.toHexString((0xFF & hash[i])));
hexString.append(Integer.toHexString(0xFF & hash[i]));
String criptografado = hexString.toString();
Método de criptografia em ASP.NET
public string GerarMD5(string valor)
// criptografia MD5
MD5 md5Hasher = MD5.Create();
// Criptografa o valor passado
byte[]
...