TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O DESENVOLVIMENTO DE SOFTWARE SEGURO

Por:   •  5/5/2015  •  Ensaio  •  642 Palavras (3 Páginas)  •  175 Visualizações

Página 1 de 3

[pic 1]

FACULDADE ANHANGUERA DE BELO HORIZONTE

Adriel Júnio Avelar

Jonatas Barbosa

Josimar Aparecido

Vinícius Eça

Wemerson Alves

DESENVOLVIMENTO DE SOFTWARE SEGURO

Etapas 2 e 3

Belo Horizonte,

30 de abril de 2014


  1. ETAPA 1

Ler atentamente os capítulos do livro-texto ou complementar sobre Criptografia, principalmente, sobre os diversos métodos de criptografia e sua utilização.

  1. PASSO 3

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).

  1. Utilizando Criptografia

MD5

O método mais utilizado em PHP é o md5, que é um algoritmo hash de 128 bits. É um método que gera uma string de 32 caracteres, tornando-a mais forte. Esse método é utilizado quando existem dados que não podem ser acessados por outras pessoas. O único problema do md5 é que, se houver descuido por parte do desenvolvedor,  pode-se gerar dois md5 iguais, duas strings diferentes, que cabem no mesmo md5. É raro de acontecer, mas acontece.

1

$string = 'O rato roeu a roupa do rei de Roma';

2

$codificada = md5($string);

3

echo "Resultado da codificação usando md5: " . $codificada;

4

// 54cf74d1acdb4037ab956c269b63c8ac

SHA1

O sha1 é parecido com o md5, porém o algoritmo tem 160 bits, gerando uma chave de 40 caracteres. Como contém 160 bits, é muito mais raro ter duas strings codificadas que contém as mesmas informações.

1

$string = 'O rato reu a ropa do rei de Roma';

2

$codificada = sha1($string);

3

echo "Resultado da codificação usando sha1: " . $codificada;

4

// b186b709f7cf5a1d98d413379a66e511df8d59a4

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[] valorCriptografado = d5Hasher.ComputeHash(Encoding.Default.GetBytes(valor));

// Cria um StringBuilder para passarmos os bytes gerados para ele

StringBuilder strBuilder = new StringBuilder();

// Converte cada byte em um valor hexadecimal e adiciona ao

// and format each one as a hexadecimal string.

for (int i = 0; i < valorCriptografado.Length; i++)

strBuilder.Append(valorCriptografado[i].ToString("x2"));

// retorna o valor criptografado como string

return strBuilder.ToString();

using System.Security.Cryptography;

public class Criptografia

private static byte[] chave = { };

private static byte[] iv = { 12, 34, 56, 78, 90, 102, 114, 126 };

public Criptografia()

public static string Criptografar(string valor, string chaveCriptografia)

DESCryptoServiceProvider des;

MemoryStream ms;

CryptoStream cs; byte[] input;

des = new DESCryptoServiceProvider();

ms = new MemoryStream();

input = Encoding.UTF8.GetBytes(valor);chave

=Encoding.UTF8.GetBytes(chaveCriptografia.Substring(0, 8));

cs = new CryptoStream(ms, des.CreateEncryptor(chave,

iv), CryptoStreamMode.Write);

cs.Write(input, 0, input.Length);

cs.FlushFinalBlock();

return Convert.ToBase64String(ms.ToArray());

catch (Exception ex)

...

Baixar como (para membros premium)  txt (6.9 Kb)   pdf (186.6 Kb)   docx (419.6 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com