[Microid] MicroID Python code + comments on the spec
Peter Saint-Andre
stpeter at jabber.org
Wed Jan 3 15:40:52 EST 2007
Eran Sandler wrote:
> Hey all,
>
> Attached is a simple function implementation of microid in Python (after
> seeing the Java implementation I had to do something ;-) ).
>
> This sample is for Python 2.4 or so (in 2.5 the SHA API I'm using is
> deprecated, so when I'll install it I'll submit a Python 2.5 valid sample).
>
> It also contains a sample that you can run it by itself (and not include it
> in a project). Run by specifying:
> python microid.py firsturi seconduri
>
> Where firsturi is the first uri you want to encode and the second is the
> second.
>
> For example:
> python microid.py xmpp:stpeter at jabber.org https://www.xmpp.net/
>
> This will produce (with the '======' lines):
>
> ========================================================================
> first uri : xmpp:stpeter at jabber.org
> second uri : https://www.xmpp.net/
>
> microid hash value : 6196ea6709be2a4cbdf2bc0cfaeac491f2fb8921
>
> microid :
> xmpp+https:sha1:6196ea6709be2a4cbdf2bc0cfaeac491f2fb8921
> ========================================================================
>
> For the value of the microid printed, it will try to extract the protocol
> used form the uris given in the input.
>
> This also brings me to another point. I might be wrong on this, but I double
> checked the hash values and the sample on the spec has the wrong hash
> values. The ones I've listed above is the right ones (as far as I could
> tell).
>
> So it would be good to correct the sample so that people will be able to
> verify that their sha1 hashing (at least for now) is working well.
Here is how I generated the examples:
1. Create a file ent1.txt whose only content is:
xmpp:stpeter at jabber.org
2. Run the following command:
openssl dgst -sha1 ent1.txt
3. Get the following output:
6438d67faaaf7803f4dd47df5e9406cd0bb232fe
4. Create a file ent2.txt whose only content is:
https://www.xmpp.net/
5. Run the following command:
openssl dgst -sha1 ent2.txt
6. Get the following output:
d2d7361de77be843f0480000e09619ba56142ad3
7. Create a file inputs.txt whose content is a concatenation of the two
hashes:
6438d67faaaf7803f4dd47df5e9406cd0bb232fed2d7361de77be843f0480000e09619ba56142ad3
8. Run the following command:
openssl dgst -sha1 inputs.txt
9. Get the following output:
bd3f7a2cea6e6013067293d9efb11e7b0ece829e
Which seems to follow the generation method described at
http://microid.org/microid.html#generation
But I freely admit that I may be missing something. :-)
Peter
--
Peter Saint-Andre
Jabber Software Foundation
http://www.jabber.org/people/stpeter.shtml
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 7358 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.ibiblio.org/pipermail/microid/attachments/20070103/3b21d68b/attachment.bin
More information about the Microid
mailing list