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

Colocando blocos de código no WordPress


Você quer colocar blocos de código nos seus posts do wordpress, com sintax highlight e tudo mais?
É muito simples!

Basta colocar o código entre as tags [sourcecode], dessa forma:

[sourcecode language=’java’]
public void main (String[] args);
[/sourcecode]

O resultado é o seguinte:

public void main (String[] args)

Para o parâmetro language, você pode utilizar as seguintes linguagens:

cpp
csharp
css
delphi
html
java
jscript
php
python
ruby
sql
vb
xml

Demorei muito para achar isto mas encontrei.

Fonte: http://filipechagas.wordpress.com/2009/02/06/colocando-blocos-de-codigo-no-wordpress/

Sistema de backup por bat


To postano aqui um sistema de backup que fiz em bat. É um sistema simples que simplismente copia os arquivos novos para uma determinada pasta, caso o arquivo seja o mesmo e nao foi atualizado ele nao copia caso o arquivo esteje atualizado ou tenha um novo arquivo ele substitui/copia o mesmo.
O programa salva um registro dos arquivos copiados e das operações na area de trabalho como “log.log”, caso execulte ele varias vezes ele ira incrementar no arquivo de log.

@echo off
@echo #######################
@echo #    Fazendo Backup   #
@echo #      Aguarde....    #
@echo #######################
@echo                Fazendo Backup                 >> %userprofile%\desktop\log.log
@echo Hora e data de inicio:                    >> %userprofile%\desktop\log.log
date /t                                             >> %userprofile%\desktop\log.log
time /t                                             >> %userprofile%\desktop\log.log
xcopy "e:\PROJETOS" "C:\BackupProjetos" /D /E /V /C /F /G /H /Y  >> %userprofile%\desktop\log.log
@echo Horario de termino:                           >> %userprofile%\desktop\log.log
time /t                                             >> %userprofile%\desktop\log.log
@echo               Backup Realizado                >> %userprofile%\desktop\log.log
@echo #######################
@echo #        Backup       #
@echo #      Realizado      #
@echo #######################
@echo ============================================== >> %userprofile%\desktop\log.log
pause

Nesta linha que é informado o caminho do backup:

xcopy "e:\PROJETOS" "C:\BackupProjetos" /D /E /V /C /F /G /H /Y  >>

em projetos: Origem
em backup: Destino (lembre-se de criar o diretorio antes)

Copiem o codigo em um editor de texto e salve com extensão *.bat

Fim.

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