<?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>Persönlicher Blog von Robert Erlinger &#187; Programming</title>
	<atom:link href="http://blog.databyte.at/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.databyte.at</link>
	<description>Persönlicher Blog von Robert Erlinger</description>
	<lastBuildDate>Wed, 12 May 2010 07:41:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Howto use Struts with MyEclipse</title>
		<link>http://blog.databyte.at/2009/03/howto-use-struts-with-myeclipse/</link>
		<comments>http://blog.databyte.at/2009/03/howto-use-struts-with-myeclipse/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 09:17:17 +0000</pubDate>
		<dc:creator>Robert Erlinger</dc:creator>
				<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false">http://blog.databyte.at/2009/03/howto-use-struts-with-myeclipse/</guid>
		<description><![CDATA[Ich habe ein sehr hilfreiches und interessantes HowTo gefunden, wie man relativ rasch, schnell und einfach eine Struts Application in schreiben kann:
First Steps in Struts Using Eclipse + MyEclipse
    				 						First Steps in Struts Using Eclipse + MyEclipse			Ashok Saravanan M 							First Steps in Struts Using Eclipse + MyEclipse 						 			
   [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe ein sehr hilfreiches und interessantes HowTo gefunden, wie man relativ rasch, schnell und einfach eine Struts Application in schreiben kann:</p>
<p><a title="View First Steps in Struts Using Eclipse + MyEclipse on Scribd" href="http://www.scribd.com/doc/6252646/First-Steps-in-Struts-Using-Eclipse-MyEclipse" style="margin: 12px auto 6px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;">First Steps in Struts Using Eclipse + MyEclipse</a>
<div class="youtube-video"><object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" id="doc_449650699917946" name="doc_449650699917946" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" rel="media:document" resource="http://d.scribd.com/ScribdViewer.swf?document_id=6252646&amp;access_key=key-2kqxjt9pqswi4yric4j3&amp;page=1&amp;version=1&amp;viewMode=" xmlns:media="http://search.yahoo.com/searchmonkey/media/" xmlns:dc="http://purl.org/dc/terms/" align="middle" height="500" width="100%"><param name="movie" value="http://d.scribd.com/ScribdViewer.swf?document_id=6252646&amp;access_key=key-2kqxjt9pqswi4yric4j3&amp;page=1&amp;version=1&amp;viewMode="></param><param name="quality" value="high"></param><param name="play" value="true"></param><param name="loop" value="true"></param><param name="scale" value="showall"></param><param name="wmode" value="opaque"></param><param name="devicefont" value="false"></param><param name="bgcolor" value="#ffffff"></param><param name="menu" value="true"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><param name="salign" value=""></param>    				<embed src="http://d.scribd.com/ScribdViewer.swf?document_id=6252646&amp;access_key=key-2kqxjt9pqswi4yric4j3&amp;page=1&amp;version=1&amp;viewMode=" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" play="true" loop="true" scale="showall" wmode="opaque" devicefont="false" bgcolor="#ffffff" name="doc_449650699917946_object" menu="true" allowfullscreen="true" allowscriptaccess="always" salign="" type="application/x-shockwave-flash" align="middle" height="500" width="100%"></embed><span rel="media:thumbnail" href="http://i.scribd.com/profiles/images/8nigfx60479az-thumb.jpg"> 						<span property="media:title">First Steps in Struts Using Eclipse + MyEclipse</span>			<span property="dc:creator">Ashok Saravanan M</span> 							<span property="dc:description">First Steps in Struts Using Eclipse + MyEclipse</span> 						<span property="dc:type" content="Text"> 			</span></span></object></div>
<div style="margin: 6px auto 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block;">    <a href="http://www.scribd.com/upload" style="text-decoration: underline;">Publish at Scribd</a> or <a href="http://www.scribd.com/browse" style="text-decoration: underline;">explore</a> others:            <a href="http://www.scribd.com/browse/eBooks/Science-Engineering" style="text-decoration: underline;">Science &amp; Engineerin</a>                  <a href="http://www.scribd.com/tag/Technology-Computer-Science" style="text-decoration: underline;">Technology-Computer-</a>      	</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.databyte.at/2009/03/howto-use-struts-with-myeclipse/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JSR-286: Caching, brauche ich das denn?</title>
		<link>http://blog.databyte.at/2009/03/jsr-286-caching-brauche-ich-das-denn/</link>
		<comments>http://blog.databyte.at/2009/03/jsr-286-caching-brauche-ich-das-denn/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 09:58:49 +0000</pubDate>
		<dc:creator>Robert Erlinger</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[jsr-286]]></category>
		<category><![CDATA[jsr286]]></category>
		<category><![CDATA[optimierung]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://blog.databyte.at/?p=127</guid>
		<description><![CDATA[Das Thema Caching wird in der Praxis durch Entwickler leider sehr oft vernachlässigt. Viele Entwickler meinen, dass dies ein Thema des Betriebs sei. Doch genau diese Haltung bringt oft extreme Probleme im Betrieb einer Portalanwendung mit sich, die auch nicht durch eine Erweiterung von Hardware (mehr CPU, Hauptspeicher, etc.) erschlagen werden kann. Vielmehr muss der [...]]]></description>
			<content:encoded><![CDATA[<p>Das Thema Caching wird in der Praxis durch Entwickler leider sehr oft vernachlässigt. Viele Entwickler meinen, dass dies ein Thema des Betriebs sei. Doch genau diese Haltung bringt oft extreme Probleme im Betrieb einer Portalanwendung mit sich, die auch nicht durch eine Erweiterung von Hardware (mehr CPU, Hauptspeicher, etc.) erschlagen werden kann. Vielmehr muss der Entwickler der Anwendung selbst auf diverse Caching Mechanismen Rücksicht nehmen und diese in die eigene Anwendung integrieren. <a href="http://developers.sun.com/portalserver/reference/techart/jsr168/" target="_blank">JSR-286</a> soll das Thema Caching in der JAVA-Welt mehr in den Vordergrund rücken.</p>
<p>Natürlich bieten moderne Portalsysteme von Haus aus schon mitgelieferte Caching Möglichkeiten an, jedoch hat mit JSR-268 der Entwickler selbst schon einen ersten Angriffspunkt für Optimierungen.</p>
<p><strong>Links:</strong></p>
<ul>
<li><a href="http://developers.sun.com/portalserver/reference/techart/jsr168/" target="_blank">Introducing Java Portlet Specifications: JSR 168 and JSR 286</a></li>
<li><a href="http://blogs.sun.com/karthikks/entry/caching_in_jsr_286" target="_blank">http://blogs.sun.com/karthikks/entry/caching_in_jsr_286</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.databyte.at/2009/03/jsr-286-caching-brauche-ich-das-denn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaRebel</title>
		<link>http://blog.databyte.at/2009/03/javarebel/</link>
		<comments>http://blog.databyte.at/2009/03/javarebel/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 13:06:25 +0000</pubDate>
		<dc:creator>Robert Erlinger</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Application Server]]></category>
		<category><![CDATA[Instrumentation API]]></category>
		<category><![CDATA[JavaRebel]]></category>
		<category><![CDATA[Tomcat]]></category>

		<guid isPermaLink="false">http://blog.databyte.at/?p=125</guid>
		<description><![CDATA[Welcher JAVA Entwickler kennt dieses Problem nicht: Änderungen an JAVA-Klassen durchführen, Build-Prozess durchlaufen lassen und die geänderten JAVA-Klassen in den Application Server deployen.
Abhilfe schafft das kommerzielle Tool JavaRebel, welches als JAR-File in den Application Server (z.B. Tomcat) deployed wird. Der Clou: Änderungen am Quellcode werden so in der laufenden Anwendung sofort und ohne Neustarten des [...]]]></description>
			<content:encoded><![CDATA[<p>Welcher JAVA Entwickler kennt dieses Problem nicht: Änderungen an JAVA-Klassen durchführen, Build-Prozess durchlaufen lassen und die geänderten JAVA-Klassen in den Application Server deployen.</p>
<p>Abhilfe schafft das kommerzielle Tool <a href="http://www.zeroturnaround.com/javarebel/" target="_blank">JavaRebel</a>, welches als JAR-File in den Application Server (z.B. Tomcat) deployed wird. Der Clou: Änderungen am Quellcode werden so in der laufenden Anwendung sofort und ohne Neustarten des Application Servers aktiv. Dies spart viel Zeit, Nerven und Geld beim Entwicklen von JAVA Anwendungen.</p>
<p>JavaRebel ist ab Java 5 einsetzbar, da das Tool die Instrumentation API (java.lang.instrument) verwendet, um kompilierten JAVA Klassen zu überwachen.</p>
<p><strong>Links:</strong></p>
<ul>
<li><a href="http://www.zeroturnaround.com/javarebel/" target="_blank">http://www.zeroturnaround.com/javarebel/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.databyte.at/2009/03/javarebel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symfony Project: Der Admin-Generator</title>
		<link>http://blog.databyte.at/2008/09/symfony-project-der-admin-generator/</link>
		<comments>http://blog.databyte.at/2008/09/symfony-project-der-admin-generator/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 08:55:20 +0000</pubDate>
		<dc:creator>Robert Erlinger</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[framwork]]></category>
		<category><![CDATA[model view controller]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[scaffolding]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://blog.databyte.at/?p=98</guid>
		<description><![CDATA[
&#160;
&#160;
&#160;
&#160;
Für jemanden, der das Symfony PHP Project noch nicht kennt, ist dieses Video sehr hilfreich, um einen ersten Eindruck über die möglichen Generator-Funktionen und Scaffolding zu erhalten:
http://www.symfony-project.org/screencast/admin-generator
Wer kennt dieses Problem nicht: Neues Projekt, neue Anforderungen! 
Warum jedes Mal ein neues Backend für den Kunden bauen? Das Symfony Framework bietet durch das mitgelieferte Propel Framework (Object [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-99" title="symfony-logo" src="http://blog.databyte.at/wp-content/uploads/2008/09/symfony-logo.png" alt="" width="271" height="115" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Für jemanden, der das <a href="http://www.symfony-project.org/" target="_blank">Symfony PHP Project </a>noch nicht kennt, ist dieses Video sehr hilfreich, um einen ersten Eindruck über die möglichen Generator-Funktionen und <a href="http://de.wikipedia.org/wiki/Scaffolding" target="_blank">Scaffolding</a> zu erhalten:</p>
<p><a href="http://www.symfony-project.org/screencast/admin-generator" target="_blank">http://www.symfony-project.org/screencast/admin-generator</a></p>
<p>Wer kennt dieses Problem nicht: <strong>Neues Projekt, neue Anforderungen! </strong></p>
<p>Warum jedes Mal ein neues Backend für den Kunden bauen? Das <a href="http://www.symfony-project.org/" target="_blank">Symfony Framework</a> bietet durch das mitgelieferte <a href="http://propel.phpdb.org/trac/" target="_blank">Propel Framework</a> (Object Relation Mapping) die Möglichkeit, ein XML-File für die Datenstruktur zu definieren. Anhand von Symfony Commands, welche auf der Kommandozeile ausgeführt werden, können innerhalb von wenigen Minuten das Datenbankschema, die Backendmasken und die <a href="http://de.wikipedia.org/wiki/Model_View_Controller" target="_blank">Model-View-Controller</a> PHP Klassen automatisch generiert werden. Alleine diese Möglichkeiten <strong>sparen</strong> dem Entwickler schon einige <strong>Manntage </strong>an Arbeit, und zudem setzt man auf ein professionelles und zukunftsträchtiges MVC-Framework!</p>
<p>Die Eingabemasken werden durch Symfony automatisch generiert und können beliebig erweitert und durch <a href="http://de.wikipedia.org/wiki/YAML" target="_blank">YAML</a>-Files konfiguriert werden. Erstellen von Filtern, Validierungen, Pagination, etc. ist durch Konfiguration in Minuten steuerbar.</p>
<p>Das größte Problem bei MVC-Frameworks ist meistens das Customizing. Ändert man, in einer durch das Scaffolding generierten Klasse, die Logik, fällt ein zukünftiges Scaffolding mit dem eingesetzten Framework flach. Nicht so bei Symfony. Dank der Architektur und Objektorientierung ist das Erweitern der Klassen ein Kinderspiel, z.B. durch Methodenüberlagerung, etc. Symfony sorgt beim Scaffolding auch schon dafür und generiert diese Klassen gleich mit.</p>
<p>Dank Symfony und anderen MVC Frameworks, wie z.B. das <a href="http://framework.zend.com/" target="_blank">ZEND PHP Framework</a>, ist das Entwickeln von professionellen PHP Anwendungen im Gegensatz zu vor ein paar Jahren heutzutage ein Kinderspiel geworden. Dies ist auch PHP5 mit seiner vollwärtigen Unterstützung von Objektorientierung zu verdanken.</p>
<p><strong>Links:</strong></p>
<ul>
<li><a href="http://www.symfony-project.org/" target="_blank">Symfony PHP Framwork</a></li>
<li><a href="http://framework.zend.com/">Zend PHP Framework</a></li>
<li><a href="http://propel.phpdb.org/" target="_blank">Propel &#8211; Object Relation Mapper</a></li>
</ul>
<p><strong>Videos:</strong></p>
<ul>
<li><a href="http://www.symfony-project.org/screencast/admin-generator" target="_blank">Symfony Admin Generator</a></li>
<li><a href="http://www.symfony-project.org/screencast/cart" target="_blank">Easy Ajax</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.databyte.at/2008/09/symfony-project-der-admin-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New g4j &#8211; GMail API for Java released!</title>
		<link>http://blog.databyte.at/2007/11/new-g4j-gmail-api-for-java-released/</link>
		<comments>http://blog.databyte.at/2007/11/new-g4j-gmail-api-for-java-released/#comments</comments>
		<pubDate>Fri, 02 Nov 2007 23:48:50 +0000</pubDate>
		<dc:creator>Robert Erlinger</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://blog.databyte.at/index.php/59</guid>
		<description><![CDATA[          GMailer API for Java (g4j) is set of API that allows          Java programmer to communicate to GMail. With G4J programmers can made          Java based application that based [...]]]></description>
			<content:encoded><![CDATA[<p>          GMailer API for Java<strong> (g4j)</strong> is set of API that allows          Java programmer to communicate to GMail. With G4J programmers can made          Java based application that based on huge storage of GMail.</p>
<p><strong>See more:</strong></p>
<ul>
<li><a href="http://blog.databyte.at/wp-content/uploads/2007/11/g4j-0319.zip">Download the g4j-0.3.19 stable revision</a></li>
</ul>
<p><a href="http://g4j.sourceforge.net/" title="source-forge-logo.gif"><img src="http://blog.databyte.at/wp-content/uploads/2007/11/source-forge-logo.gif" alt="source-forge-logo.gif" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.databyte.at/2007/11/new-g4j-gmail-api-for-java-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generate filename for uploaded file in JAVA</title>
		<link>http://blog.databyte.at/2007/07/generate-filename-for-uploaded-file-in-java/</link>
		<comments>http://blog.databyte.at/2007/07/generate-filename-for-uploaded-file-in-java/#comments</comments>
		<pubDate>Tue, 17 Jul 2007 11:20:27 +0000</pubDate>
		<dc:creator>Robert Erlinger</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.databyte.at/?p=17</guid>
		<description><![CDATA[    /**
     * Takes the original file name's suffix and generated a new random file name with the oringial file suffix.
     * @param oldFileName The original file name of the uploaed file.
     * @return String The generated new random file [...]]]></description>
			<content:encoded><![CDATA[<pre>    /**
     * Takes the original file name's suffix and generated a new random file name with the oringial file suffix.
     * @param oldFileName The original file name of the uploaed file.
     * @return String The generated new random file name.
     */
    private String convertFileName(String originalFileName) {

    	// Get the extension (suffix) of the original file name.
    	originalFileName = originalFileName.trim();

        //... Find the position of the last dot.  Get extension.
        int dotPos = originalFileName.lastIndexOf(".");
        String extension = originalFileName.substring(dotPos);

    	Random random = new Random((new Date()).getTime());
    	String fileName =  "uploadfile_" + generateRandomStringForFileName(8) + Math.abs(random.nextInt()) + extension;
    	return fileName;
    }

    /**
     * Generates a random string.
     * @param length The length of the random string.
     * @return The generated random string.
     */
    private static String generateRandomStringForFileName (int length) {
    	String randomString = "";
    	for (int i=0; i&lt;length; i++) {
    		randomString += generateRandomCharForFileName();
    	}
    	return randomString;
    }

    /**
     * Generates a random character for the file name.
     * @return char Returns a random character.
     */
    private static char generateRandomCharForFileName() {
    	int zuf = generateRandomIntForFileName(25);
   		zuf += 97;
   		return ((char)zuf);
    }

    /**
     * Generates a random int.
     * @param max The maximum number for the character.
     * @return int
     */
    public static int generateRandomIntForFileName(int max){
    	int number;
    	Random generate = new Random();
    	number = generate.nextInt(max);
    	return number;
    }</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.databyte.at/2007/07/generate-filename-for-uploaded-file-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XML-RPC mit JAVA</title>
		<link>http://blog.databyte.at/2007/05/xml-rpc-mit-java/</link>
		<comments>http://blog.databyte.at/2007/05/xml-rpc-mit-java/#comments</comments>
		<pubDate>Wed, 30 May 2007 09:36:36 +0000</pubDate>
		<dc:creator>Robert Erlinger</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.databyte.at/?p=15</guid>
		<description><![CDATA[Ein XML-RPC Java-Client:
import java.util.Vector;
import java.util.Hashtable;
import helma.xmlrpc.*;

public class JavaClient {

    // The location of our server.
    private final static String server_url =
        "http://xmlrpc-c.sourceforge.net/api/sample.php";

    public static void main (String [] args) {
        try {

 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Ein XML-RPC Java-Client:</strong></p>
<pre class="programlisting">import java.util.Vector;
import java.util.Hashtable;
import helma.xmlrpc.*;

public class JavaClient {

    // The location of our server.
    private final static String server_url =
        "http://xmlrpc-c.sourceforge.net/api/sample.php";

    public static void main (String [] args) {
        try {

            // Create an object to represent our server.
            XmlRpcClient server = new XmlRpcClient(server_url);

            // Build our parameter list.
            Vector params = new Vector();
            params.addElement(new Integer(5));
            params.addElement(new Integer(3));

            // Call the server, and get our result.
            Hashtable result =
                (Hashtable) server.execute("sample.sumAndDifference", params);
            int sum = ((Integer) result.get("sum")).intValue();
            int difference = ((Integer) result.get("difference")).intValue();

            // Print out our result.
            System.out.println("Sum: " + Integer.toString(sum) +
                               ", Difference: " +
                               Integer.toString(difference));

        } catch (XmlRpcException exception) {
            System.err.println("JavaClient: XML-RPC Fault #" +
                               Integer.toString(exception.code) + ": " +
                               exception.toString());
        } catch (Exception exception) {
            System.err.println("JavaClient: " + exception.toString());
        }
    }
}</pre>
<p><strong>Ein XML-RPC Standalone JAVA Server:</strong></p>
<pre class="programlisting">import java.util.Hashtable;
import helma.xmlrpc.*;

public class JavaServer {

    public JavaServer () {
        // Our handler is a regular Java object. It can have a
        // constructor and member variables in the ordinary fashion.
        // Public methods will be exposed to XML-RPC clients.
    }

    public Hashtable sumAndDifference (int x, int y) {
        Hashtable result = new Hashtable();
        result.put("sum", new Integer(x + y));
        result.put("difference", new Integer(x - y));
        return result;
    }

    public static void main (String [] args) {
        try {

            // Invoke me as &lt;http://localhost:8080/RPC2&gt;.
            WebServer server = new WebServer(8080);
            server.addHandler("sample", new JavaServer());

        } catch (Exception exception) {
            System.err.println("JavaServer: " + exception.toString());
        }
    }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.databyte.at/2007/05/xml-rpc-mit-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MD5 / SHA1 Hashes erzeugen mit JAVA</title>
		<link>http://blog.databyte.at/2007/05/md5-sha1-hashes-erzeugen-mit-java/</link>
		<comments>http://blog.databyte.at/2007/05/md5-sha1-hashes-erzeugen-mit-java/#comments</comments>
		<pubDate>Tue, 22 May 2007 09:36:02 +0000</pubDate>
		<dc:creator>Robert Erlinger</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.databyte.at/?p=14</guid>
		<description><![CDATA[   public static String getMD5Hash(String in) {
        StringBuffer result = new StringBuffer(32);
        try {
            MessageDigest md5 = MessageDigest.getInstance("MD5");
           [...]]]></description>
			<content:encoded><![CDATA[<pre><code>   public static String getMD5Hash(String in) {
        StringBuffer result = new StringBuffer(32);
        try {
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            md5.update(in.getBytes());
            Formatter f = new Formatter(result);
            for (byte b : md5.digest()) {
                f.format("%02x", b);
            }
        } catch (NoSuchAlgorithmException ex) {
            ex.printStackTrace();
        }
        return result.toString();
    }</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.databyte.at/2007/05/md5-sha1-hashes-erzeugen-mit-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
