http://microformats.org/wiki/index.php?title=hash-brainstorming&feed=atom&action=historyhash-brainstorming - Revision history2024-03-28T20:31:36ZRevision history for this page on the wikiMediaWiki 1.38.4http://microformats.org/wiki/index.php?title=hash-brainstorming&diff=33350&oldid=prevDenisDefreyne at 23:02, 5 August 20072007-08-05T23:02:10Z<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 23:02, 5 August 2007</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l55">Line 55:</td>
<td colspan="2" class="diff-lineno">Line 55:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This introduces a <code>type</code> attribute for the kind of checksum (MD5, SHA1, RIPEMD-160, etc), and <code>value</code> for the actual checksum.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This introduces a <code>type</code> attribute for the kind of checksum (MD5, SHA1, RIPEMD-160, etc), and <code>value</code> for the actual checksum.</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">== Hashes and UIDs ==</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Hashes an UIDs (unique identifiers) have quite a bit in common. Hashes are, usually, unique as well, except in a few edge cases where two different items have the same MD5 sum. Also see [[uid]] and related pages.</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">I think the difference between hashes and UIDs is too big for the two concepts to be merged. Hashes are, in my experience, not used to reference items. For example, you wouldn't say "give me the MP3 file with MD5 sum d2c550efaecc2bed137f7e40255177fe" but you could say "give me the book with ISBN ISBN0596002815". [[User:DenisDefreyne|DenisDefreyne]] 16:02, 5 Aug 2007 (PDT)</ins></div></td></tr>
</table>DenisDefreynehttp://microformats.org/wiki/index.php?title=hash-brainstorming&diff=19346&oldid=prevDenisDefreyne: Moving non-example stuff from hash-examples to hash-brainstorming2007-08-03T13:57:08Z<p>Moving non-example stuff from hash-examples to hash-brainstorming</p>
<p><b>New page</b></p><div><h1>Hash brainstorming</h1><br />
<br />
__TOC__<br />
<br />
== The Problem ==<br />
Checksums (MD5 & SHA-1 hashes) are offered for files to prove they haven't been tampered with and to uniquely identify them. They are very useful, but they are not used as much as they could be. The current method involves a manual process of hashing the downloaded file (with programs that are not installed by default on all operating systems) and then comparing the value to the one listed. An easy and automatic way to use them would be preferrable to present methods.<br />
<br />
== Participants ==<br />
* Ant Bryan<br />
* Charles Iliya Krempeaux<br />
* [http://stoneship.org/ Denis Defreyne]<br />
<br />
== Proposal ==<br />
A microformat for MD5 and SHA-1 hashes could make them more usable. [http://mdhashtool.mozdev.org/index.html MD Hash Tool], another extension, or download managers could be modified to use them automatically.<br />
<br />
<pre><br />
<span class="download"><br />
<a rel="bookmark" href="...">Download OpenOffice.org<br />
<span class="checksum md5">e0d123e5f316bef78bfdf5a008837577</span><br />
</a><br />
</span><br />
</pre><br />
<br />
=== Use with hAtom ===<br />
For example, with RSS and Atom feeds, we have something called an "enclosure". With an "enclosure" you are being told that this file (that the enclosure points to) is "attached" to this item. (And that you might want to go and download it.) <br />
<br />
Now, having checksum information (like a MD5 checksum) could be very useful for this. Especially in the context of hAtom -- the Microformat variation of Atom. And the rel-enclosure Microformat.<br />
<br />
So, if we combined the two -- combined this semantic HTML for "downloading" and rel-enclosure -- then we might get something like this: <br />
<br />
<pre><br />
<span class="download"><br />
<a rel="bookmark enclosure" href="...">Download OpenOffice.org<br />
<span class="checksum md5">e0d123e5f316bef78bfdf5a008837577</span><br />
</a><br />
</span><br />
</pre><br />
<br />
Note that I've added "enclosure" to the "rel" attribute of the <a> element. This could be used in other Microformats and semantic HTML too.<br />
<br />
=== Issues ===<br />
<br />
The proposal above has a few issues.<br />
<br />
* Visibility of metadata: The type of checksum (MD5, SHA1, …) should not be inside an attribute, since it is metadata that should be visible.<br />
* Checksum type attribute: There would need to be a massive number of class names for all possible checksum types: md2, md4, md5, sha1, sha256, sha384, sha512, tiger, ripemd128, ripemd160, etc.<br />
<br />
The second sub-section also mentions use with hAtom, even though rel-enclosure is not tied to hAtom.<br />
<br />
== Proposal #2 ==<br />
<br />
Based on the two issues mentioned above, I propose a following hash format similar to the one in this example:<br />
<br />
<code><pre><span class="checksum">The <span class="type">MD5</span> checksum of this download is <span class="value">e0d123e5f316bef78bfdf5a008837577</span>.</span></pre></code><br />
<br />
This introduces a <code>type</code> attribute for the kind of checksum (MD5, SHA1, RIPEMD-160, etc), and <code>value</code> for the actual checksum.</div>DenisDefreyne