<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.2" -->
<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/"
	>

<channel>
	<title>ShopDev Website Design Blog</title>
	<link>http://www.shopdev.co.uk/blog</link>
	<description>Website Design, XHTML, CSS, jQuery and CubeCart</description>
	<pubDate>Sat, 28 Feb 2009 20:19:37 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.2</generator>
	<language>en</language>
			<item>
		<title>Password Strength Meter</title>
		<link>http://www.shopdev.co.uk/blog/password-strength-meter/</link>
		<comments>http://www.shopdev.co.uk/blog/password-strength-meter/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 20:16:56 +0000</pubDate>
		<dc:creator>Homar</dc:creator>
		
		<category><![CDATA[General Resources]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.shopdev.co.uk/blog/password-strength-meter/</guid>
		<description><![CDATA[I was scouring the internet looking for a freely available "Password Strength Meter" script.  You've probably all come across them.  The vast majority are useless.  They're useless because they use mainly empirical methods to determine the strength of a password.  Whilst empirical methods may provide a good estimate for the strength of a password subject to a brute force attack.  Most don't even consider dictionary or hybrid-dictionary attack mechanisms.  So... I decided to make my own.]]></description>
			<content:encoded><![CDATA[<p>I was scouring the internet looking for a freely available &quot;Password Strength Meter&quot; script.&nbsp; You&#8217;ve probably all come across them.&nbsp; The vast majority are useless.&nbsp; They&#8217;re useless because they use mainly empirical methods to determine the strength of a password.&nbsp; Whilst empirical methods may provide a good estimate for the strength of a password subject to a brute force attack&#8230;&nbsp; Most don&#8217;t consider dictionary or hybrid-dictionary attack mechanisms.</p>
<p>If you&#8217;ve signed up for a Google account, you will have seen Google&#8217;s own password strength meter.&nbsp; Google&#8217;s password strength meter is unique in that it identifies whether the password would be easily cracked under a dictionary attack.&nbsp; However, Google hasn&#8217;t made the source code available to the public.&nbsp; So&#8230; I thought I&#8217;d make my own.<a class="demo" title="Password Strength Meter Demo" target="_blank" href="http://www.shopdev.co.uk/blog/demos/password-strength/index.html" rel="nofollow"><span class="demo website" style="float:none;"></span></a></p>
<p>&nbsp;</p>
<p>Firstly, I wanted my algorithm to calculate the strength of a password using statistical analysis.&nbsp; Essentially, the algorithm should approximate the ammount of time it would take to crack a password subject to the following attack mechanisms:</p>
<ul>
<li>Dictionary Attack</li>
<li>Hybrid-Dictionary</li>
<li>Brute Force</li>
</ul>
<p>Before I run over the math, I should say that I am not a statictician, although I am pretty good with applied mathematics.</p>
<h3>Dictionary Attack</h3>
<p>In order to calculate the strength of a password subject to a dictionary attack, we must start by determining how many &quot;real&quot; words exist containing 1 <em>to</em> n letters; where &quot;n&quot; is the length of the password.&nbsp; We should also consider that the password will, on average, find the password after searching through half of the n-letter words.&nbsp; We can express this mathematically as follows:</p>
<p>&nbsp;<img height="109" width="510" alt="" src="http://www.shopdev.co.uk/blog/wp-content/uploads/image/Untitled-1_03.gif" /></p>
<h3>Brute Force Attack</h3>
<p>In order to calculate the strength of a password subject to a brute force attack, we simply consider the number of character combinations possible for a password of length 1 <em>to</em> n letters.&nbsp; The number of possibilities exitsing is a function of both the password length and character diversity.&nbsp; In this sense, the diversity of a password depends on whether upper case letters, lower case letters, numbers and symbols are used.&nbsp; The diversity of a password containing only lower case letters is 26.&nbsp; This is because there are 26 letters in the english alphabet.</p>
<p><img height="110" width="510" alt="" src="http://www.shopdev.co.uk/blog/wp-content/uploads/image/Untitled-1_06.gif" /></p>
<p>Note that we again take the coefficient of a half for the final term.&nbsp; I explained why this is done in the dictionary attack section above.&nbsp; What I found very interesting is how the strength of a password subject to a brute force attack varies as we change the diversity and length.&nbsp; Many of the algorithms I have come across give a greater weight to the diversity.&nbsp; I.e. they assume that the diversity of a password has a greater impact on the strength.&nbsp; This is often not the case.&nbsp; My only guess as to why they do this is that they have no way of identifying whether a password is vulnerable to a dictionary attack.&nbsp; Hence, they make the assumption that passwords containing numbers and/or symbols will not be vulnerable to a dictionary attack.</p>
<h3>Hybrid-Dictionary Attack</h3>
<p>This type of attack is particularly difficult to model accurately.&nbsp; Hence, I am going to estimate that the strength of a password undergoing a hybrid dictionary attack is simply the &quot;dictionary strength&quot; multiplied by the &quot;brute force strength&quot; of the suffix/prefix:</p>
<p><img height="95" width="510" src="http://www.shopdev.co.uk/blog/wp-content/uploads/image/Untitled-1_08.gif" alt="" /></p>
<h3>Calculating The &quot;Real&quot; Strength</h3>
<p>The equations above allow us to calculate the strength of a password.&nbsp; However, we now need to make sense of the result.&nbsp; To do this, we can create a scale by estimating the speed at which a computer is capable of attempting to crack the password.&nbsp; Obviously, this value will change significantly as time passes as it is determined by the processing power of the cracker&#8217;s computer.&nbsp; Hence, I recommend that you change/tweak the setting in the PHP script.&nbsp; By default, this is set to 2,000,000 passwords per second.</p>
<p>The PHP script then uses this speed to calculate the time it would take to crack the password.&nbsp; I have defined a strength rating to a range in time (e.g. 0 &lt; time &lt; 1 day).&nbsp; You can change or add more ratings as you please.</p>
<h3>Where Can I Download This?</h3>
<p>Before I make the script public, I&#8217;d appreciate some feedback.&nbsp; You can request additional features by posting a comment below.&nbsp; Please also post any passwords that you feel the script does a poor job of estimating the strength for.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shopdev.co.uk/blog/password-strength-meter/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Catalyst V4 Reloaded</title>
		<link>http://www.shopdev.co.uk/blog/catalyst-v4-reloaded/</link>
		<comments>http://www.shopdev.co.uk/blog/catalyst-v4-reloaded/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 21:33:26 +0000</pubDate>
		<dc:creator>Homar</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.shopdev.co.uk/blog/catalyst-v4-reloaded/</guid>
		<description><![CDATA[I know that many of you have been waiting patiently for us to update the Catalyst skin for CubeCart V4.3.0 compatibility.&#160; We&#8217;ve been working very hard recently on bringing the Neutrino framework to Catalyst V4.
What&#8217;s The Neutrino Framework?
To explain this, let me start by describing how the Catalyst skin currently works.&#160; In order to add [...]]]></description>
			<content:encoded><![CDATA[<p>I know that many of you have been waiting patiently for us to update the Catalyst skin for CubeCart V4.3.0 compatibility.&nbsp; We&#8217;ve been working very hard recently on bringing the Neutrino framework to Catalyst V4.</p>
<h2>What&#8217;s The Neutrino Framework?</h2>
<p>To explain this, let me start by describing how the Catalyst skin currently works.&nbsp; In order to add all the lovely features that makes our CubeCart skins special (e.g. AJAX Add To Cart), we needed to extend CubeCart&#8217;s core PHP code.&nbsp; We did this by including a number of PHP modifications that you were required to install before using the skin.&nbsp; There are some inherent disadvantages associated with this method.&nbsp; Firstly, it requires you to spend time installing all the modifications.&nbsp; Secondly, there may be compatibility issues with other modifications you have installed.&nbsp; Finally, as many of you are aware, it&#8217;s extremely difficult and time consuming to update CubeCart to later releases.</p>
<p>The Neutrino framework is simply a better way of adding the features you all love.&nbsp; Although PHP code is still used, it is separated into individual files.&nbsp; These files are then executed or manimulated using AJAX requests.&nbsp; This means that there is complete separation from CubeCart&#8217;s core PHP files.&nbsp; It also means that you won&#8217;t have to edit a single line of CubeCart&#8217;s PHP code to install the skin.</p>
<h2>When Is The Update Due To Be Released?</h2>
<p>We will release the update shortly after our new site goes live.&nbsp; Please read <a rel="nofollow" href="http://www.shopdev.co.uk/blog/shopdev-is-changing/">this post</a> for more information.</p>
<h2>Will I Need To Pay For The Update?</h2>
<p>If you currently hold a single domain license for the Catalyst V4 skin, you can receive this update free of charge.</p>
<h2>Will The Update Be Compatible With CubeCart V4.3.0?</h2>
<p>Absolutely!&nbsp; You can view the <a rel="nofollow" href="http://www.shopdev.co.uk/demos/CC4/">demonstration store</a>, which is currently running CubeCart V4.3.0.</p>
<h2>Will I Loose Any Features When I Update?</h2>
<p>No.&nbsp; Catalyst V4 Reloaded will include all the features you are currently enjoying.</p>
<h2>Have You Made Any Improvements To The Skin?</h2>
<p>We have tweaked the code a little.&nbsp; Here&#8217;s what we&#8217;ve added thus far:</p>
<ul>
<li>Dynamic &quot;On Demand&quot; JavaScript and CSS Compression</li>
<li>Vast Improvements to the AJAX Add To Cart code</li>
<li>Dynamic Image Scaling</li>
<li>Many small tweaks to the code</li>
</ul>
<h2>If I Update, Will I Loose Any Modifications I&#8217;ve Made To The Skin?</h2>
<p>Unfortunately, you will loose all the modifications you&#8217;ve made to the skin.&nbsp; You can of course reapply any modifications to the skin.</p>
<h2>Any Questions or Comments?</h2>
<p>Please post you questions or comments below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shopdev.co.uk/blog/catalyst-v4-reloaded/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ShopDev Is Changing!</title>
		<link>http://www.shopdev.co.uk/blog/shopdev-is-changing/</link>
		<comments>http://www.shopdev.co.uk/blog/shopdev-is-changing/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 20:49:50 +0000</pubDate>
		<dc:creator>Homar</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.shopdev.co.uk/blog/shopdev-is-changing/</guid>
		<description><![CDATA[For some time now, we have been secretly working on the new ShopDev website.  Although we haven't finished everything just yet, it is coming together nicely.  In this post, I'm going to detail some of the changes we'll shortly be making.]]></description>
			<content:encoded><![CDATA[<p>For some time now, we have been secretly working on the new ShopDev website.&nbsp; Although we haven&#8217;t finished everything just yet, it is coming together nicely.&nbsp; In this post, I&#8217;m going to detail some of the changes we&#8217;ll shortly be making.</p>
<ul>
<li>Completely new website design</li>
<li>Integration of the &quot;Latest News&quot; blog into our main website</li>
<li>A brand new ordering system</li>
<li>A brand new client panel (integrated into our ordering system)</li>
<li>A fully-fledged Help Desk (integrated into our ordering system)</li>
<li>Credit and debit card acceptance (no Google Checkout account required)</li>
</ul>
<h3>A Completely New Website Design</h3>
<p>For those who have been following us closely, you will know that we regularly redesign our own site.&nbsp; I&#8217;m happy to say that the new design will be here to stay - for some time anyway.&nbsp; The new design will tie together our new ordering system, latest news blog and help desk.&nbsp; We believe that the new site will be much easier to use than the current one.</p>
<h3>Our Latest News Blog</h3>
<p>Currently, our latest news section resides within our Website Design blog.&nbsp; We will be moving all the latest news articles to our core site.&nbsp; Hence, there will be a consistent design across our entire site.&nbsp; We&#8217;ll be posing news pertaining to our skins, latest releases and CubeCart announcements.&nbsp; This will be a excellent resource for any CubeCart store owner.</p>
<h3>A New Ordering, Client Panel and Licensing System</h3>
<p>The Client Panel was introduced some time ago now.&nbsp; The uptake has been fantastic.&nbsp; However, from the feedback we&#8217;ve received, we understand that you want it integrated into our main site.&nbsp; The new client panel is an enormous improvement over the existing one.&nbsp; Everything seamlessly works together.&nbsp; You&#8217;ll be able to access all your downloads and license keys from a single central location.</p>
<p>Our existing licensing system is crude, at best.&nbsp; Inevitably, this has led to piracy, consuming a great amount of our time.&nbsp; Ideally, we would rather not have a licensing system.&nbsp; However, if we&#8217;re going to keep our CubeCart skins affordable, we need to protect ourselves from those devious people who illegally share our hard work.</p>
<p>We will be encoding a few PHP files used by our skins with IonCube.&nbsp; Currently, we apply a weak obfuscation technique to those PHP files that include our licensing mechanism.&nbsp; The vast majority of hosting providers support IonCube.&nbsp; If you&#8217;re not sure whether your host supports IonCube encoded files, you can check by dropping them a quick email.</p>
<p>Similar to how CubeCart&#8217;s licensing system works, our skins will &quot;call home&quot; every 14 days.&nbsp; We understand that some of you will be concerned after the initial problems with CubeCart&#8217;s own licensing system.&nbsp; We have been working hard to ensure that this does not happen.&nbsp; Furthermore, after 30 days have passed since your purchase, you can request a permanent license file.&nbsp; A permanent license file will no longer call home.&nbsp; We&#8217;ll post more information shortly.</p>
<p>We&#8217;ll be offering limited time free trials for all our skins.</p>
<h3>A Fully-Fledged Help Desk</h3>
<p>In order to improve efficiency, we&#8217;ll be introducing a Help Desk.&nbsp; You&#8217;ll be able to login to the help desk, ordering system and client panel with the same username and password.</p>
<h3>Credit and Debit Card Acceptance</h3>
<p>You&#8217;ll be able to purchase our skins without a Google Checkout account.&nbsp; This is great news for those that reside in countries where Google Checkout is not available.</p>
<h3>Any Questions?</h3>
<p>As always, if you have any questions, please feel free to post a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shopdev.co.uk/blog/shopdev-is-changing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Out Of Office</title>
		<link>http://www.shopdev.co.uk/blog/out-of-office/</link>
		<comments>http://www.shopdev.co.uk/blog/out-of-office/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 14:51:01 +0000</pubDate>
		<dc:creator>Homar</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.shopdev.co.uk/blog/out-of-office/</guid>
		<description><![CDATA[We will be away from 14th December - 21st December.&#160; You will be unable to make purchases from our store during these dates.&#160; Please also note that we will not be able to respond to any emails during these dates.&#160; Oh&#8230;&#160; and please do have a wonderfull Christmas break!
]]></description>
			<content:encoded><![CDATA[<p>We will be away from 14th December - 21st December.&nbsp; You will be unable to make purchases from our store during these dates.&nbsp; Please also note that we will not be able to respond to any emails during these dates.&nbsp; Oh&#8230;&nbsp; and please do have a wonderfull Christmas break!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shopdev.co.uk/blog/out-of-office/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

