<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Diário de Códigos &#187; Java</title>
	<atom:link href="http://diariodecodigos.info/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://diariodecodigos.info</link>
	<description>Codigos Fonte, Artigos e Dicas</description>
	<lastBuildDate>Wed, 11 Apr 2012 18:56:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Criptografando Senhas com Java (&#8220;sha-1&#8243;)</title>
		<link>http://diariodecodigos.info/2010/07/criptografando-senhas-com-java-sha-1/</link>
		<comments>http://diariodecodigos.info/2010/07/criptografando-senhas-com-java-sha-1/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 19:13:19 +0000</pubDate>
		<dc:creator>paulodiogo</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Outros]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=1041</guid>
		<description><![CDATA[Muito tempo sem posta no blog voltei =D Hoje vou fazer um exemplo de como criptografar uma senha em java usando o padrao &#8220;sha-1&#8243; Breve historico: SHA-1 O Secure Hash Algorithm, uma função de espalhamento unidirecional inventada pela NSA, gera um valor hash de 160 bits, a partir de um tamanho arbitrário de mensagem. O]]></description>
			<content:encoded><![CDATA[<p>Muito tempo sem posta no blog voltei =D</p>
<p>Hoje vou fazer um exemplo de como criptografar uma senha em java usando o padrao &#8220;sha-1&#8243;</p>
<p><span id="more-1041"></span></p>
<p>Breve historico:</p>
<p>SHA-1</p>
<p><span style="font-family: Verdana; font-size: x-small;">O           Secure Hash Algorithm, uma função de espalhamento unidirecional inventada pela NSA, gera um valor hash de 160 bits, a partir de um tamanho arbitrário de mensagem. O funcionamento interno do SHA-1 é muito parecido com o observado no MD4, indicando que os estudiosos da NSA basearam-se no MD4 e fizeram melhorias em sua segurança. De fato, a fraqueza existente em parte do MD5, citada anteriormente, descoberta após o SHA-1 ter sido proposto, não ocorre no SHA-1. Atualmente, não há nenhum ataque de criptoanálise conhecido contra o SHA-1. Mesmo o ataque da força bruta torna-se impraticável, devido ao seu valor hash de 160 bits. Porém, não há provas de que, no futuro, alguém não possa descobrir como quebrar o SHA-1.</span></p>
<p><span style="font-family: Verdana; font-size: x-small;">Vamos aos Codigos:</span></p>
<pre class="brush: java;">
public class MecanicaCriptografaUtil {

 private static MecanicaCriptografaUtil instance;
 private MecanicaCriptografaUtil(){}

//Padrao Singleton, para garantir apenas uma instancia dessa classe.
 public static MecanicaCriptografaUtil getInstance(){
 if(instance==null){
 instance = new MecanicaCriptografaUtil();
 }
 return instance;
 }

 //A Funcao
 public String criptografaSenha(String senha) throws NoSuchAlgorithmException{

 //Essa classe pega um valor de tamanho arbitrario e transforma em um valor de tamanho fixo
 MessageDigest md = MessageDigest.getInstance( &quot;SHA&quot; );

//Atualiza o valor com os bytes especificados
 md.update( senha.getBytes() );
//Conclui o cálculo de hash realizando operações finais, tais como  preenchimento.
 BigInteger hash = new BigInteger( 1, md.digest() );
//Retorna a representação String decimal deste BigInteger, com tamanho igual a 16.
 String retornaSenha = hash.toString( 16 );
 return retornaSenha;
 }
}
&lt;pre&gt;</pre>
<p>Simples Assim.</p>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2010/07/criptografando-senhas-com-java-sha-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JEE(1/2)Tutorial JPA com Hibernate, Eclipse e PostgreSQL</title>
		<link>http://diariodecodigos.info/2009/12/jee12tutorial-jpa-com-eclipse-postgresql/</link>
		<comments>http://diariodecodigos.info/2009/12/jee12tutorial-jpa-com-eclipse-postgresql/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 10:57:52 +0000</pubDate>
		<dc:creator>paulodiogo</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[JPA]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=744</guid>
		<description><![CDATA[Versões usadas: Eclipse 3.5 SR1 PostgreSQL 8.3 Driver PostgreSQL 8.3 Jboss O que é JPA? Java Persistence API, é uma API padrão do java para persistência que deve ser implementada por frameworks que queiram seguir o padrão. Diversos frameworks de mapeamento objeto/relacional como o Hibernate implementam a JPA. Também gerencia o desenvolvimento de entidades do]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://www.myhomepageindia.com/wp-content/uploads/2009/04/jpa-hibernate-tutorial.jpg" alt="Hibernate" /><br />
Versões usadas:<br />
<a href="http://www.eclipse.org/downloads">Eclipse 3.5 SR1</a><br />
<a href="http://www.postgresql.org.br/downloads">PostgreSQL 8.3</a><br />
<a href="http://jdbc.postgresql.org/download.html">Driver PostgreSQL 8.3</a><br />
<a href="http://www.jboss.com/downloads/">Jboss</a></p>
<p><span id="more-744"></span></p>
<p>O que é JPA?</p>
<p>Java Persistence API, é uma API padrão do java para persistência que deve ser implementada por frameworks que queiram seguir o padrão. Diversos frameworks de mapeamento objeto/relacional como o Hibernate implementam a JPA. Também gerencia o desenvolvimento de entidades do Modelo Relacional usando a plataforma nativa JSE e Java EE.</p>
<p>O que vou usar pra salvar no banco?</p>
<p>Hibernate &#8211; É um framework para o mapeamento objeto-relacional escrito na linguagem Java, mas também é disponível em .Net como o nome NHibernate. Este programa facilita o mapeamento dos atributos entre uma base tradicional de dados relacionais e o modelo objeto de uma aplicação, mediante o uso de arquivos (XML) para estabelecer esta relação.</p>
<p>Hibernate é um software livre de código aberto distribuído com a licença LGPL.</p>
<p>Qual o servidor que vou usar?</p>
<p>Existem muitos, o que eu estou usando é o JBOSS.</p>
<p>JBoss (pronuncia-se Djei Boss) é um servidor de aplicação de código fonte aberto baseado na plataforma J2EE implementada completamente na linguagem de programação Java. Como é baseada em Java, JBoss pode ser usado em qualquer Sistema Operacional que suporte Java. Os desenvolvedores responsáveis estão agora empregados por uma empresa de serviços chamada &#8220;JBoss Inc.&#8221; fundada por Marc Fleury, o criador da primeira versão do JBoss. O projeto é custeado por uma rede mundial de colaboradores. Em Abril de 2006 foi anunciada sua aquisição pela Red Hat.</p>
<p>Com tudo instalado e pronto vamos começar:</p>
<p>New&gt;JPA Project</p>
<p>Damos um nome para o projeto.</p>
<p>Logo após vamos direto ao arquivo persistence.xml para configura-lo.</p>
<pre class="brush: xml;">
&lt;properties&gt;
       	&lt;property name=&quot;hibernate.connection.driver_class&quot; value=&quot;org.postgresql.Driver&quot;/&gt;
        &lt;property name=&quot;hibernate.connection.username&quot; value=&quot;*******&quot;/&gt;
        &lt;property name=&quot;hibernate.connection.password&quot; value=&quot;*******&quot;/&gt;
        &lt;property name=&quot;hibernate.connection.url&quot; value=&quot;jdbc:postgresql://localhost:5432/&lt;BANCO&gt;&quot;/&gt;
        &lt;property name=&quot;hibernate.dialect&quot; value=&quot;org.hibernate.dialect.PostgreSQLDialect&quot;/&gt;
        &lt;property name=&quot;hibernate.show_sql&quot; value=&quot;true&quot;/&gt;
&lt;/properties&gt;
</pre>
<blockquote><p>Esse arquivo serve para &#8220;linkar&#8221; o seu codigo com o seu banco de dados.<br />
Com ele o nosso amigo Hibernate, consegue conectar e desconectar do banco sem mais alerde.</p></blockquote>
<p>Com o nome de usuario e senha do seu banco.</p>
<p>Tabela exemplo:</p>
<pre class="brush: sql;">
CREATE TABLE pessoa
(
  oid integer NOT NULL,
  identidade character varying(15),
  cpf character varying(15),
  nome character varying(80),
  dt_nasc character varying(50),
  sexo character varying(50),
  CONSTRAINT vestonline_pkey PRIMARY KEY (oid)
)
WITH (OIDS=FALSE);
ALTER TABLE pessoa OWNER TO postgres;
</pre>
<p>Com esta parte pronta vamos gerar as Entidades, ou seja, sabendo que o seu banco de dados já esta pronto, vamos fazer uma engenharia reversa e gerar as entidades.</p>
<p>Clique com o direito no projeto JPA&#8230;</p>
<p>JPA Tools&gt;Generate Entities&#8230;</p>
<p>Você escolhe uma Connection  um Schema e da Next&#8230;</p>
<p>Não se esqueça de marcar a CheckBox Synchronize Classes in persistence.xml, para que ele coloque sua entidade no arquivo de persistencia e poupe trabalho. Marque as tabelas que vc deseja usar, e finalize.</p>
<p>Sua classe vai ficar assim:</p>
<pre class="brush: java;">
package br.ucam.model;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

import org.hibernate.validator.*;

@Entity
public class Pessoa implements Serializable {
	@Id
	private Integer oid;

	@NotEmpty //Validação no formulario
    @Length(min=5,max=50) //Validação no formulario
	private String identidade;

	@NotEmpty //Validação no formulario
    @Length(min=14,max=14) //Validação no formulario
	private String cpf;

	@NotEmpty //Validação no formulario
    @Length(min=5,max=50) //Validação no formulario
	private String nome;

	@Column(name=&quot;dt_nasc&quot;) //Validação no formulario
	private String dtNasc;

	@NotEmpty //Validação no formulario
    @Length(min=1,max=1) //Validação no formulario
	private String sexo;

	private static final long serialVersionUID = 1L;

	public Pessoa() {
		super();
	}

	public Integer getOid() {
		return this.oid;
	}

	public void setOid(Integer oid) {
		this.oid = oid;
	}

	public String getIdentidade() {
		return this.identidade;
	}

	public void setIdentidade(String identidade) {
		this.identidade = identidade;
	}

	public String getCpf() {
		return this.cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getDtNasc() {
		return this.dtNasc;
	}

	public void setDtNasc(String dtNasc) {
		this.dtNasc = dtNasc;
	}

	public String getSexo() {
		return this.sexo;
	}

	public void setSexo(String sexo) {
		this.sexo = sexo;
	}

}
</pre>
<p>Pronto vc ja tem as suas entidades mapeadas e prontas para teste.</p>
<p>Proximo post será para fazer testes com essa classe.</p>
<p>Simples assim&#8230;</p>
<p>Fonte:</p>
<p>http://pt.wikipedia.org/wiki/Java_Persistence_API</p>
<p>http://pt.wikipedia.org/wiki/Hibernate</p>
<p>http://pt.wikipedia.org/wiki/JBoss</p>
<p>http://br.sun.com/</p>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2009/12/jee12tutorial-jpa-com-eclipse-postgresql/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

