<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: PHP Password Salt and Pepper using sha1 MD5 Hash</title>
	<atom:link href="http://createmy.com.au/php-password-salt-and-pepper-using-sha1-md5-hash/feed/" rel="self" type="application/rss+xml" />
	<link>http://createmy.com.au/php-password-salt-and-pepper-using-sha1-md5-hash/</link>
	<description>Create My - eCommerce - Web Development - Web Design - Dale Hurley</description>
	<lastBuildDate>Wed, 18 Apr 2012 03:23:26 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	

<!-- Debugging help, do not remove -->
<meta name="Framework" content="Kpress" />
<meta name="Theme Version" content="1.3" />
<meta name="Framework Version" content="1.3" />


	<item>
		<title>By: Uhrzeit</title>
		<link>http://createmy.com.au/php-password-salt-and-pepper-using-sha1-md5-hash/comment-page-1/#comment-48765</link>
		<dc:creator>Uhrzeit</dc:creator>
		<pubDate>Thu, 01 Dec 2011 14:04:22 +0000</pubDate>
		<guid isPermaLink="false">http://createmy.com.au/?p=348#comment-48765</guid>
		<description>@Nico,

i tryed a Bruforce Script with
for($i=0;$istore into http://www.tools-blog.de/
  therefore i wrote a md5 hash generator
  i check -&gt; if md5 Hash exissts return false
 $hit[] = check Response;
}

but there are no equal hashes

thx for this arcticle</description>
		<content:encoded><![CDATA[<p>@Nico,</p>
<p>i tryed a Bruforce Script with<br />
for($i=0;$istore into <a href="http://www.tools-blog.de/" rel="nofollow">http://www.tools-blog.de/</a><br />
  therefore i wrote a md5 hash generator<br />
  i check -&gt; if md5 Hash exissts return false<br />
 $hit[] = check Response;<br />
}</p>
<p>but there are no equal hashes</p>
<p>thx for this arcticle</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shelby Melban</title>
		<link>http://createmy.com.au/php-password-salt-and-pepper-using-sha1-md5-hash/comment-page-1/#comment-29491</link>
		<dc:creator>Shelby Melban</dc:creator>
		<pubDate>Fri, 24 Jun 2011 15:23:13 +0000</pubDate>
		<guid isPermaLink="false">http://createmy.com.au/?p=348#comment-29491</guid>
		<description>Awesome love it</description>
		<content:encoded><![CDATA[<p>Awesome love it</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: admin</title>
		<link>http://createmy.com.au/php-password-salt-and-pepper-using-sha1-md5-hash/comment-page-1/#comment-24789</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Wed, 04 May 2011 03:09:37 +0000</pubDate>
		<guid isPermaLink="false">http://createmy.com.au/?p=348#comment-24789</guid>
		<description>That is a form of reverse engineering.</description>
		<content:encoded><![CDATA[<p>That is a form of reverse engineering.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wimvds</title>
		<link>http://createmy.com.au/php-password-salt-and-pepper-using-sha1-md5-hash/comment-page-1/#comment-23863</link>
		<dc:creator>wimvds</dc:creator>
		<pubDate>Tue, 19 Apr 2011 12:41:02 +0000</pubDate>
		<guid isPermaLink="false">http://createmy.com.au/?p=348#comment-23863</guid>
		<description>MD5 hasn&#039;t been reverse engineered. The site is simply storing the hashes that were generated, and tries to match those (so they&#039;re using the &quot;rainbow table&quot; approach). When you try to &quot;decrypt&quot; a key they don&#039;t know about yet, you&#039;ll get a simple &quot;Sorry, this MD5 hash wasn&#039;t found in our database&quot;. But when you encrypt that and try it again, it &quot;magically&quot; appears (now how would they do that :p).</description>
		<content:encoded><![CDATA[<p>MD5 hasn&#8217;t been reverse engineered. The site is simply storing the hashes that were generated, and tries to match those (so they&#8217;re using the &#8220;rainbow table&#8221; approach). When you try to &#8220;decrypt&#8221; a key they don&#8217;t know about yet, you&#8217;ll get a simple &#8220;Sorry, this MD5 hash wasn&#8217;t found in our database&#8221;. But when you encrypt that and try it again, it &#8220;magically&#8221; appears (now how would they do that :p).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Paul &#187; Blog Archive &#187; Oct 19, 2009 sweet links</title>
		<link>http://createmy.com.au/php-password-salt-and-pepper-using-sha1-md5-hash/comment-page-1/#comment-7198</link>
		<dc:creator>Chris Paul &#187; Blog Archive &#187; Oct 19, 2009 sweet links</dc:creator>
		<pubDate>Tue, 19 Oct 2010 03:04:15 +0000</pubDate>
		<guid isPermaLink="false">http://createmy.com.au/?p=348#comment-7198</guid>
		<description>[...] PHP Password Salt and Pepper using sha1 MD5 Hash [...]</description>
		<content:encoded><![CDATA[<p>[...] PHP Password Salt and Pepper using sha1 MD5 Hash [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nico</title>
		<link>http://createmy.com.au/php-password-salt-and-pepper-using-sha1-md5-hash/comment-page-1/#comment-6715</link>
		<dc:creator>Nico</dc:creator>
		<pubDate>Sat, 09 Oct 2010 12:07:57 +0000</pubDate>
		<guid isPermaLink="false">http://createmy.com.au/?p=348#comment-6715</guid>
		<description>What I don&#039;t understand about all this salt n pepper... Isn&#039;t it always like this, that as soon as the attacker knows my database and my function, encoding it, that it becomes very easy to crack the password?
I&#039;m surely not an expert, but just trying to understand such issues better...

In the example given, wouldn&#039;t it be possible, to do  a bruteforce easily as well, if i get hold of the function???
e.g.
[PHP]
function bruteforce() {creates different possible passwords
 from either dictonary, or systamatic approach, e.g. 
 return &#039;HelloKitty&#039;;}

//then i do:
$numberOFtrys=100000000000000;
whilte ($i&lt;$numberOFtrys){
$test=bruteforce();
if (saltPlease($test) == $HASHfromYOURdb){
 echo $test.&quot; is the password&quot;;
 exit;
}
}
[/PHP]

So as far as I understand this issue, salt (and pepper) make a password safer, as long as &quot;just&quot; the database has been accessed by the attacker, but as soon as he gets hold of the function used, as well, it doesnt matter how complex the encoding algorythm is, right?

Or am I completly wrong on this, then please correct me!

kind regards</description>
		<content:encoded><![CDATA[<p>What I don&#8217;t understand about all this salt n pepper&#8230; Isn&#8217;t it always like this, that as soon as the attacker knows my database and my function, encoding it, that it becomes very easy to crack the password?<br />
I&#8217;m surely not an expert, but just trying to understand such issues better&#8230;</p>
<p>In the example given, wouldn&#8217;t it be possible, to do  a bruteforce easily as well, if i get hold of the function???<br />
e.g.<br />
[PHP]<br />
function bruteforce() {creates different possible passwords<br />
 from either dictonary, or systamatic approach, e.g.<br />
 return &#8216;HelloKitty&#8217;;}</p>
<p>//then i do:<br />
$numberOFtrys=100000000000000;<br />
whilte ($i&lt;$numberOFtrys){<br />
$test=bruteforce();<br />
if (saltPlease($test) == $HASHfromYOURdb){<br />
 echo $test.&quot; is the password&quot;;<br />
 exit;<br />
}<br />
}<br />
[/PHP]</p>
<p>So as far as I understand this issue, salt (and pepper) make a password safer, as long as &quot;just&quot; the database has been accessed by the attacker, but as soon as he gets hold of the function used, as well, it doesnt matter how complex the encoding algorythm is, right?</p>
<p>Or am I completly wrong on this, then please correct me!</p>
<p>kind regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: austin</title>
		<link>http://createmy.com.au/php-password-salt-and-pepper-using-sha1-md5-hash/comment-page-1/#comment-3346</link>
		<dc:creator>austin</dc:creator>
		<pubDate>Tue, 27 Jul 2010 13:17:28 +0000</pubDate>
		<guid isPermaLink="false">http://createmy.com.au/?p=348#comment-3346</guid>
		<description>if your algorithm is known, and the time of registry know (since you have to store this info to compare the pass it could be) then to crack it i just need to do this:
$pass=one result of a rainbow table attack
$thetime=the result bit i stole from the database telling when they were created
$hashedPass=the hashed pass i stole from your datbase
if(md5(&#039;your&#039;.$pass.$time.&#039;mother&#039;)==$hashedPass)
{
doStuff();
}
and i can do the other one too, under the same algorithm (since i know $user-&gt;created, i know which one its using)
the thing with salts is both the salt AND the algorithm to make them have to be secret or someone can just crack it.

yours has the advantage though that the algorithm has 16 permutations (but to be honest it will almost always evaluate to 1, you needed substr(-1,1) to get the last digit...you got the first digit which almost never changes) but if you know the method you can derive the pass.</description>
		<content:encoded><![CDATA[<p>if your algorithm is known, and the time of registry know (since you have to store this info to compare the pass it could be) then to crack it i just need to do this:<br />
$pass=one result of a rainbow table attack<br />
$thetime=the result bit i stole from the database telling when they were created<br />
$hashedPass=the hashed pass i stole from your datbase<br />
if(md5(&#8216;your&#8217;.$pass.$time.&#8217;mother&#8217;)==$hashedPass)<br />
{<br />
doStuff();<br />
}<br />
and i can do the other one too, under the same algorithm (since i know $user-&gt;created, i know which one its using)<br />
the thing with salts is both the salt AND the algorithm to make them have to be secret or someone can just crack it.</p>
<p>yours has the advantage though that the algorithm has 16 permutations (but to be honest it will almost always evaluate to 1, you needed substr(-1,1) to get the last digit&#8230;you got the first digit which almost never changes) but if you know the method you can derive the pass.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: LimeSpace &#8211; IT &#187; Der Wochenr?ckblick: Grafiken, PHP Kennw?rter mit Salt, JQuery + Formulare.</title>
		<link>http://createmy.com.au/php-password-salt-and-pepper-using-sha1-md5-hash/comment-page-1/#comment-121</link>
		<dc:creator>LimeSpace &#8211; IT &#187; Der Wochenr?ckblick: Grafiken, PHP Kennw?rter mit Salt, JQuery + Formulare.</dc:creator>
		<pubDate>Sat, 24 Oct 2009 10:59:58 +0000</pubDate>
		<guid isPermaLink="false">http://createmy.com.au/?p=348#comment-121</guid>
		<description>[...] Starten wir mit dem Thema Sicherheit und PHP, immer wieder bekommt man es in den Medien mit, Datenbanken mit Passw?rtern werden gestohlen. Um nun mindestens mal die Kennw?rter sicher(er) abzulegen empfiehlt es sich einen sogenannten &#8220;SALT&#8221; zu verwenden. Eine relativ sch?ne Methode findet ihr hier &#8220;PHP Password Salt &amp; Pepper&#8220;. [...]</description>
		<content:encoded><![CDATA[<p>[...] Starten wir mit dem Thema Sicherheit und PHP, immer wieder bekommt man es in den Medien mit, Datenbanken mit Passw?rtern werden gestohlen. Um nun mindestens mal die Kennw?rter sicher(er) abzulegen empfiehlt es sich einen sogenannten &#8220;SALT&#8221; zu verwenden. Eine relativ sch?ne Methode findet ihr hier &#8220;PHP Password Salt &amp; Pepper&#8220;. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frank</title>
		<link>http://createmy.com.au/php-password-salt-and-pepper-using-sha1-md5-hash/comment-page-1/#comment-106</link>
		<dc:creator>Frank</dc:creator>
		<pubDate>Mon, 19 Oct 2009 08:04:09 +0000</pubDate>
		<guid isPermaLink="false">http://createmy.com.au/?p=348#comment-106</guid>
		<description>Why would u take so much effort ?

$pass = escape_etc ( $_POSt[&#039;passowrd&#039;&#039;]  );

$user = new User;
$user-&gt;create = time();
$user-&gt;email = &#039;mail@mail.com&#039;;
switch( substr( $user-&gt;created,0,1 ) ) {
  case 1:
    $user-&gt;pass = md5(&#039;your&#039; , $pass . $user-&gt;created . &#039;mother&#039;);
    break;
  case 2:
    $user-&gt;pass = md5($pass . substr( $user-&gt;created, 0, 5) . &#039;smells&#039;);
    break;
  case ...
}
$user-&gt;save();</description>
		<content:encoded><![CDATA[<p>Why would u take so much effort ?</p>
<p>$pass = escape_etc ( $_POSt['passowrd'']  );</p>
<p>$user = new User;<br />
$user-&gt;create = time();<br />
$user-&gt;email = &#8216;mail@mail.com&#8217;;<br />
switch( substr( $user-&gt;created,0,1 ) ) {<br />
  case 1:<br />
    $user-&gt;pass = md5(&#8216;your&#8217; , $pass . $user-&gt;created . &#8216;mother&#8217;);<br />
    break;<br />
  case 2:<br />
    $user-&gt;pass = md5($pass . substr( $user-&gt;created, 0, 5) . &#8216;smells&#8217;);<br />
    break;<br />
  case &#8230;<br />
}<br />
$user-&gt;save();</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob</title>
		<link>http://createmy.com.au/php-password-salt-and-pepper-using-sha1-md5-hash/comment-page-1/#comment-100</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Sat, 17 Oct 2009 12:37:39 +0000</pubDate>
		<guid isPermaLink="false">http://createmy.com.au/?p=348#comment-100</guid>
		<description>Incredibly, you managed to come up with something worse than &lt;a href=&quot;http://en.wikipedia.org/wiki/Crypt_%28Unix%29&quot; rel=&quot;nofollow&quot;&gt;unix crypt()&lt;/a&gt; &lt;a href=&quot;http://chargen.matasano.com/chargen/2007/9/7/enough-with-the-rainbow-tables-what-you-need-to-know-about-s.html&quot; rel=&quot;nofollow&quot;&gt;in 1976&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>Incredibly, you managed to come up with something worse than <a href="http://en.wikipedia.org/wiki/Crypt_%28Unix%29" rel="nofollow">unix crypt()</a> <a href="http://chargen.matasano.com/chargen/2007/9/7/enough-with-the-rainbow-tables-what-you-need-to-know-about-s.html" rel="nofollow">in 1976</a>.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

