Criptografia de Dados

Bom dia,

Hoje estou postando um codigo simples de criptografia.

Não tem muito segredo para compreender o codigo, fiz passando no construtor dele o Tipo de criptografia ex : “MD5”, “SHA”, “SHA-64”, “SHA-128”, “SHA-256” caso tenha outros não sei rsrsr… bem, o mais utilizado e seguro é a MD5.

Os dados são passados pelo método “Criptografar” e o valor será retornado pelo mesmo.

Segue o codigo:


public class Criptografia {

    private String tipo;

    public Criptografia(String tipo) {
        this.tipo = tipo;
    }

    public String Criptografar(String dados) {
        try {
            MessageDigest digest = MessageDigest.getInstance(tipo);
            digest.update(dados.getBytes());
            BASE64Encoder encoder = new BASE64Encoder();
            dados = encoder.encode(digest.digest());
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dados;
    }
}

Uma forma de criptografar seus dados bem simples.
Há varias mais complexas com mais segurança, mas para pequenos projetos acho que esta basta.

Obrigado.
Guilherme B. Zarelli

Transparencia em JFrame

Aqui esta uma classe bem legal pra se utilizar, esta classe controla a transparencia de um JFrame.

Veja:

public class FrameTransparente extend JFrame{

    private JLabel label;

    public FrameTransparente() {
        init();
        AWTUtilities.setWindowOpacity(this, 0.7F);
    }

    public void init() {
        label = new JLabel("Teste de Transparencia");
        setSize(200, 250);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        add(label);
        setLayout(new GridBagLayout());
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        FrameTransparente f = new FrameTransparente();
        f.setVisible(true);
    }

}

O controle da transparencia do codigo ocorre nesta linha:

        AWTUtilities.setWindowOpacity(this, 0.7F);

Aonde você passa o frame que deseja utilizar a transparencia (this) e o valor dela. de 0 à 1.

Pronto bem simples e facio. podemos passar o frame como parametro para essa classe criando um controlador etc etc etc….

Segue uma scream de ex:

nesta imagem fiz um teste com valor 0.8.

Obrigado.

Guilherme B. Zarelli

Imagem de fundo em JPanel

Segue dois exemplos abaixo para inserir uma imagem de backgroud em um JPanel

Neste primeiro exemplo faz a imagem (“fundoPrincipal”) ser automaticamente redimencionada quando voce altera o tamanho da janela. Podendo tambem inserir uma imagem maior do que o tamanho do painel.

    /** Método que define a imagem de fundo da tela principal
     *  Com redimencionamento
     * @param g
     * @see JComponent#paintComponent(java.awt.Graphics)
     */
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g.create();
        g2d.drawImage(fundoPrincipal, 0, 0, this.getWidth(), this.getHeight(), null);
        g2d.dispose();
    }

Já neste exemplo a imagem (“fundoLogin”) fica do tamanho original e centralizada no painel sem alteração caso a janela mude de tamanho.

    /** Método que define a imagem de fundo da tela principal
     * Centralizado sem redimencionamento de imagem.
     * @param g
     * @see Graphics
     */
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        int x = (this.getWidth() - fundoLogin.getWidth(null));
        int y = (this.getHeight() - fundoLogin.getHeight(null));
        g.drawImage(fundoLogin, x, y, this);
    }

Segue uma imagem como ficaria:

É isso ae muito simples de se implementar….

Obrigado.

Guilherme B. Zarelli