Serviços criptográficos

3 respostas
U

estou precisando de uma ajuda em serviços criptográficos.

gostaria de alguns exemplos que implementassem alguns métodos de criptografia, como os das classes java.security, javax.cryto…

obrigado

3 Respostas

M

Segue aí um exemplo pra vc.
Um abraço


import javax.crypto.Cipher;

import javax.crypto.KeyGenerator;

import javax.crypto.NoSuchPaddingException;

import javax.crypto.IllegalBlockSizeException;

import javax.crypto.BadPaddingException;

import java.security.Key;

import java.security.Security;

import java.security.NoSuchAlgorithmException;

import java.security.InvalidKeyException;
public class DESCryptoTest

{

public static void main(String[] args)

{

Security.addProvider(new com.sun.crypto.provider.SunJCE());
try
    {
        //DES é apenas um dos vários algorítmos de criptografia
        //que podem ser utilizados
        KeyGenerator kg = KeyGenerator.getInstance("DES");
        Key key = kg.generateKey();
        Cipher cipher = Cipher.getInstance("DES");

        //A String original
        byte[] data = "Hello World!".getBytes();
        System.out.println("Original data : " + new String(data));

        //A criptografia
        cipher.init(Cipher.ENCRYPT_MODE, key);
        byte[] result = cipher.doFinal(data);
        System.out.println("Encrypted data: " + new String(result));

        //A decriptografia
        cipher.init(Cipher.DECRYPT_MODE, key);
        byte[] original = cipher.doFinal(result);
        System.out.println("Decrypted data: " + new String(original));
    }
    catch (NoSuchAlgorithmException e)
    {
        e.printStackTrace();
    }
    catch (NoSuchPaddingException e)
    {
        e.printStackTrace();
    }
    catch (InvalidKeyException e)
    {
        e.printStackTrace();
    }
    catch (IllegalStateException e)
    {
        e.printStackTrace();
    }
    catch (IllegalBlockSizeException e)
    {
        e.printStackTrace();
    }
    catch (BadPaddingException e)
    {
        e.printStackTrace();
    }
}

}

L

Minerim Cara achei o seu codigo muito bom, vc poderia ate fazer um otimo titorial aqui pro forum(minha opinião), mas a pergunta seria, tipo vou criptografar meu .properties, e como pegarei as minhas informações, terei que ler o arquivo linha a linha, descript e depois pegar minha informação seria isso? ou …

Um abraço ai.

  • Outra pergunta é pq toda vez que executo a aplicação a parte criptografada é alterada, achei legal, só não entendi o porque.
F

Tenta assim:

File f = new File(“arquivo.xml”);
FileInputStream in = new FileInputStream(file);

byte[] data = new byte[f.length()];
in.read(data);

depois eh so chamar o método doFinal do seu objeto Cipher passado os bytes do arquivo como parâmentro.

Criado 22 de novembro de 2004
Ultima resposta 20 de abr. de 2006
Respostas 3
Participantes 4