<?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: Designing a simple token algorithm with PHP</title>
	<atom:link href="http://mediumexposure.com/designing-simple-token-algorithm-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://mediumexposure.com/designing-simple-token-algorithm-php/</link>
	<description>by Maxim Chernyak</description>
	<lastBuildDate>Thu, 15 Jul 2010 14:57:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: syscoal</title>
		<link>http://mediumexposure.com/designing-simple-token-algorithm-php/comment-page-1/#comment-14</link>
		<dc:creator>syscoal</dc:creator>
		<pubDate>Sat, 26 Apr 2008 14:12:53 +0000</pubDate>
		<guid isPermaLink="false">#comment-14</guid>
		<description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;I finally decided to clean and distribute to the community a &lt;a href=&quot;http://syscoal.users.phpclasses.org/browse/package/4518.html&quot;&gt;token grid class in PHP&lt;/a&gt;. You can have a look on it on the &lt;a href=&quot;http://syscoal.users.phpclasses.org/browse/package/4518.html&quot;&gt;PHPclasses.org repository&lt;/a&gt;, licensed in LGPL.&lt;/p&gt;

&lt;p&gt;You can produce a credit card sized printed token grid for each customer, and then each time they want to log in, we ask (in addition to the username and the password) the token at a specific position.&lt;/p&gt;

&lt;p&gt;Each token (by default 10x10 on one card) are calculated using an application id, a user id and the position in the grid. The token generation is based on a md5 of the parameters (you can have a look in the source code)&lt;/p&gt;

&lt;p&gt;Best regards, have a nice week-end.&lt;/p&gt;

&lt;p&gt;Any feedback welcome!&lt;/p&gt;

&lt;p&gt;André&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hello,</p>

<p>I finally decided to clean and distribute to the community a <a href="http://syscoal.users.phpclasses.org/browse/package/4518.html">token grid class in PHP</a>. You can have a look on it on the <a href="http://syscoal.users.phpclasses.org/browse/package/4518.html">PHPclasses.org repository</a>, licensed in LGPL.</p>

<p>You can produce a credit card sized printed token grid for each customer, and then each time they want to log in, we ask (in addition to the username and the password) the token at a specific position.</p>

<p>Each token (by default 10&#215;10 on one card) are calculated using an application id, a user id and the position in the grid. The token generation is based on a md5 of the parameters (you can have a look in the source code)</p>

<p>Best regards, have a nice week-end.</p>

<p>Any feedback welcome!</p>

<p>André</p>]]></content:encoded>
	</item>
	<item>
		<title>By: mx_</title>
		<link>http://mediumexposure.com/designing-simple-token-algorithm-php/comment-page-1/#comment-163</link>
		<dc:creator>mx_</dc:creator>
		<pubDate>Thu, 06 Sep 2007 17:21:04 +0000</pubDate>
		<guid isPermaLink="false">#comment-163</guid>
		<description>&lt;p&gt;It&#039;s a good catch.  Having a secret word stored somewhere brings the cracking complexity to the next level. Relying on hiding a function itself might not be a good idea in terms of high security.  Ideally, if we have enough inputs and outputs - we can figure out the algorithm.  However, if in a hypothetical case - that one configuration word leaks out, then you&#039;ll have to come up with another word, while storing the first one.  I avoided the idea of storing an extra seed that has to be maintained - but it can easily be plugged into the above functions at some places where I mentioned that &quot;you can go crazy here&quot;. : ) Thanks for the follow up!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<div style=""><p></p><p>It&#8217;s a good catch.  Having a secret word stored somewhere brings the cracking complexity to the next level. Relying on hiding a function itself might not be a good idea in terms of high security.  Ideally, if we have enough inputs and outputs &#8211; we can figure out the algorithm.  However, if in a hypothetical case &#8211; that one configuration word leaks out, then you&#8217;ll have to come up with another word, while storing the first one.  I avoided the idea of storing an extra seed that has to be maintained &#8211; but it can easily be plugged into the above functions at some places where I mentioned that &#8220;you can go crazy here&#8221;. : ) Thanks for the follow up!</p></div>]]></content:encoded>
	</item>
	<item>
		<title>By: Arnold Daniels</title>
		<link>http://mediumexposure.com/designing-simple-token-algorithm-php/comment-page-1/#comment-20</link>
		<dc:creator>Arnold Daniels</dc:creator>
		<pubDate>Thu, 06 Sep 2007 15:56:05 +0000</pubDate>
		<guid isPermaLink="false">#comment-20</guid>
		<description>&lt;p&gt;Although this is a way to do this, I wouldn&#039;t recommend it. Even if the pattern looks quite complex, a computer will figure out the pattern using a hand full of valid keys. It&#039;s very difficult to come up with an algorithm which is difficult to hack.&lt;/p&gt;

&lt;p&gt;I&#039;ve written a follow up article, giving an alternative: &lt;a href=&quot;http://blog.adaniels.nl/?p=45&quot;&gt;http://blog.adaniels.nl/?p=45&lt;/a&gt;&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Although this is a way to do this, I wouldn&#8217;t recommend it. Even if the pattern looks quite complex, a computer will figure out the pattern using a hand full of valid keys. It&#8217;s very difficult to come up with an algorithm which is difficult to hack.</p>

<p>I&#8217;ve written a follow up article, giving an alternative: <a href="http://blog.adaniels.nl/?p=45">http://blog.adaniels.nl/?p=45</a></p>]]></content:encoded>
	</item>
</channel>
</rss>
