diff --git a/Swat/SwatString.php b/Swat/SwatString.php
index <HASH>..<HASH> 100644
--- a/Swat/SwatString.php
+++ b/Swat/SwatString.php
@@ -1089,13 +1089,8 @@ class SwatString extends SwatObject
 	 */
 	public static function hash($string)
 	{
-		$hash = md5($string);
-
-		$string = '';
-		for ($i = 0; $i < strlen($hash) / 2; $i++)
-			$string .= chr(hexdec(substr($hash, $i * 2, 2)));
-
-		$hash = base64_encode($string);
+		$hash = md5($string, true);
+		$hash = base64_encode($hash);
 
 		// remove padding characters
 		$hash = str_replace('=', '', $hash);
This is over <I> times faster in KCacheGrind profiles and does the same thing. For widgets that use a lot of serialized values (SwatDateEntry for example) this used to add up to about <I>% of the overhead of using Swat. Kudos to Mark PK for noticing this.

svn commit r<I>