<?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: Excel sheet protection password hash</title>
	<atom:link href="http://kohei.us/2008/01/18/excel-sheet-protection-password-hash/feed/" rel="self" type="application/rss+xml" />
	<link>http://kohei.us/2008/01/18/excel-sheet-protection-password-hash/</link>
	<description>Kohei Yoshida's Webspace</description>
	<lastBuildDate>Thu, 26 Aug 2010 12:59:58 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Kohei Yoshida</title>
		<link>http://kohei.us/2008/01/18/excel-sheet-protection-password-hash/comment-page-1/#comment-2368</link>
		<dc:creator>Kohei Yoshida</dc:creator>
		<pubDate>Sun, 27 Jan 2008 23:31:39 +0000</pubDate>
		<guid isPermaLink="false">http://kohei.us/2008/01/18/excel-workbookworksheet-protection-password-hash/#comment-2368</guid>
		<description>@Mattew,

Well, I&#039;m not really qualified to comment on the quality of hashing algorithms since it&#039;s not my specialty.  But since the length of the hash value is only 16-bit, the chance of two different passwords generating an identical hash value is higher than one would normally desire when using it for document security such as encryption.  That said, this level of security may be just adequate for the purpose it is being used in Excel, since Excel&#039;s sheet protection does not in fact protect the content of the sheet but simply prevent accidental editing of the content.

That&#039;s probably all I would have to say about the quality of this hashing algorithm.</description>
		<content:encoded><![CDATA[<p>@Mattew,</p>
<p>Well, I&#8217;m not really qualified to comment on the quality of hashing algorithms since it&#8217;s not my specialty.  But since the length of the hash value is only 16-bit, the chance of two different passwords generating an identical hash value is higher than one would normally desire when using it for document security such as encryption.  That said, this level of security may be just adequate for the purpose it is being used in Excel, since Excel&#8217;s sheet protection does not in fact protect the content of the sheet but simply prevent accidental editing of the content.</p>
<p>That&#8217;s probably all I would have to say about the quality of this hashing algorithm.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matthew</title>
		<link>http://kohei.us/2008/01/18/excel-sheet-protection-password-hash/comment-page-1/#comment-2339</link>
		<dc:creator>Matthew</dc:creator>
		<pubDate>Sat, 26 Jan 2008 20:44:45 +0000</pubDate>
		<guid isPermaLink="false">http://kohei.us/2008/01/18/excel-workbookworksheet-protection-password-hash/#comment-2339</guid>
		<description>Hello, do you have comments as to the quality of hashing algorithm? Thank you.</description>
		<content:encoded><![CDATA[<p>Hello, do you have comments as to the quality of hashing algorithm? Thank you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kohei Yoshida</title>
		<link>http://kohei.us/2008/01/18/excel-sheet-protection-password-hash/comment-page-1/#comment-2304</link>
		<dc:creator>Kohei Yoshida</dc:creator>
		<pubDate>Fri, 25 Jan 2008 06:19:29 +0000</pubDate>
		<guid isPermaLink="false">http://kohei.us/2008/01/18/excel-workbookworksheet-protection-password-hash/#comment-2304</guid>
		<description>Hi Chris, thanks for the info about Wouter&#039;s blog post, and the bug fix in my code. ;-)  BTW, the above PDF link should work now; the comma at the end of the URL was causing the link from working.

I just edited my blog entry to remove my bug.  Better do it sooner before people start to see my code, or worse, use it in their program. ;-)</description>
		<content:encoded><![CDATA[<p>Hi Chris, thanks for the info about Wouter&#8217;s blog post, and the bug fix in my code. ;-)  BTW, the above PDF link should work now; the comma at the end of the URL was causing the link from working.</p>
<p>I just edited my blog entry to remove my bug.  Better do it sooner before people start to see my code, or worse, use it in their program. ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Rae</title>
		<link>http://kohei.us/2008/01/18/excel-sheet-protection-password-hash/comment-page-1/#comment-2303</link>
		<dc:creator>Chris Rae</dc:creator>
		<pubDate>Fri, 25 Jan 2008 04:16:26 +0000</pubDate>
		<guid isPermaLink="false">http://kohei.us/2008/01/18/excel-workbookworksheet-protection-password-hash/#comment-2303</guid>
		<description>Hi there - I work for MS on Excel, just to put my cards on the table. The above PDF link didn&#039;t work for me, but there&#039;s also a copy of the correct algorithm on Wouter van Vugt&#039;s page (http://blogs.infosupport.com/wouterv/archive/2006/11/21/Hashing-password-for-use-in-SpreadsheetML.aspx). There&#039;s actually a small bug in the one Kohei posted here - the XOR with *pch after the while() loop is a buffer underrun. By the time the while() loop finishes, pch points to the character before the first character of the password, which is an unknown area of memory. If it contains zero then this algorithm will work (because the XOR doesn&#039;t do anything) but if it contains something else it won&#039;t.</description>
		<content:encoded><![CDATA[<p>Hi there &#8211; I work for MS on Excel, just to put my cards on the table. The above PDF link didn&#8217;t work for me, but there&#8217;s also a copy of the correct algorithm on Wouter van Vugt&#8217;s page (<a href="http://blogs.infosupport.com/wouterv/archive/2006/11/21/Hashing-password-for-use-in-SpreadsheetML.aspx)" rel="nofollow">http://blogs.infosupport.com/wouterv/archive/2006/11/21/Hashing-password-for-use-in-SpreadsheetML.aspx)</a>. There&#8217;s actually a small bug in the one Kohei posted here &#8211; the XOR with *pch after the while() loop is a buffer underrun. By the time the while() loop finishes, pch points to the character before the first character of the password, which is an unknown area of memory. If it contains zero then this algorithm will work (because the XOR doesn&#8217;t do anything) but if it contains something else it won&#8217;t.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kohei Yoshida</title>
		<link>http://kohei.us/2008/01/18/excel-sheet-protection-password-hash/comment-page-1/#comment-2204</link>
		<dc:creator>Kohei Yoshida</dc:creator>
		<pubDate>Mon, 21 Jan 2008 15:03:37 +0000</pubDate>
		<guid isPermaLink="false">http://kohei.us/2008/01/18/excel-workbookworksheet-protection-password-hash/#comment-2204</guid>
		<description>Hi Daniel,

Yeah, I&#039;ve noticed it in your doc after I came up with it mine.  Good to know that my algorithm is in fact the correct one since it&#039;s identical to your pseudo-code. ;-)

BTW, how did you come up with yours?</description>
		<content:encoded><![CDATA[<p>Hi Daniel,</p>
<p>Yeah, I&#8217;ve noticed it in your doc after I came up with it mine.  Good to know that my algorithm is in fact the correct one since it&#8217;s identical to your pseudo-code. ;-)</p>
<p>BTW, how did you come up with yours?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel</title>
		<link>http://kohei.us/2008/01/18/excel-sheet-protection-password-hash/comment-page-1/#comment-2202</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Mon, 21 Jan 2008 10:39:50 +0000</pubDate>
		<guid isPermaLink="false">http://kohei.us/2008/01/18/excel-workbookworksheet-protection-password-hash/#comment-2202</guid>
		<description>Btw, the correct algorithm has been documented years ago: http://sc.openoffice.org/excelfileformat.pdf , chapter 4.18.4 ;-)</description>
		<content:encoded><![CDATA[<p>Btw, the correct algorithm has been documented years ago: <a href="http://sc.openoffice.org/excelfileformat.pdf" rel="nofollow">http://sc.openoffice.org/excelfileformat.pdf</a> , chapter 4.18.4 ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kohei Yoshida</title>
		<link>http://kohei.us/2008/01/18/excel-sheet-protection-password-hash/comment-page-1/#comment-2190</link>
		<dc:creator>Kohei Yoshida</dc:creator>
		<pubDate>Sun, 20 Jan 2008 15:16:58 +0000</pubDate>
		<guid isPermaLink="false">http://kohei.us/2008/01/18/excel-workbookworksheet-protection-password-hash/#comment-2190</guid>
		<description>Sure.  That&#039;s a good idea.  I&#039;ll look into that.</description>
		<content:encoded><![CDATA[<p>Sure.  That&#8217;s a good idea.  I&#8217;ll look into that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kris</title>
		<link>http://kohei.us/2008/01/18/excel-sheet-protection-password-hash/comment-page-1/#comment-2182</link>
		<dc:creator>kris</dc:creator>
		<pubDate>Sat, 19 Jan 2008 23:14:24 +0000</pubDate>
		<guid isPermaLink="false">http://kohei.us/2008/01/18/excel-workbookworksheet-protection-password-hash/#comment-2182</guid>
		<description>Can you submit a &quot;bug&quot; against the standard?  Let the standards people know MS submitted the wrong spec?</description>
		<content:encoded><![CDATA[<p>Can you submit a &#8220;bug&#8221; against the standard?  Let the standards people know MS submitted the wrong spec?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
