- From: Sandro Hawke <sandro@w3.org>
- Date: Fri, 03 Dec 2010 20:02:36 -0500
- To: Paul Gearon <gearon@ieee.org>
- Cc: SPARQL Working Group <public-rdf-dawg@w3.org>
On Fri, 2010-12-03 at 18:04 -0500, Paul Gearon wrote: > As discussed in the last teleconf, I would like to propose the include > of an "md5sum" function, in a similar fashion to MySQL. > > MD5SUM is often used for storing passwords. SHA1SUM is used in a > similar way, and is also used for hashing email addresses in FOAF. > > --- > > MD5SUM > > The MD5SUM function accepts a single plain literal argument and > returns a simple literal containing a string of exactly 32 characters. > Each character represents a hexadecimal digit and is one of [0-9a-f]. > > The value returned from MD5SUM, is the result of applying the MD5 > message-digest algorithm to the argument, as described in RFC 1321. > http://tools.ietf.org/html/rfc1321 > > Examples: > > SELECT (MD5SUM('') AS ?m) > WHERE { } > > ?m > -- > "d41d8cd98f00b204e9800998ecf8427e" > > > SELECT (MD5SUM('a') AS ?m) > WHERE { } > > ?m > -- > "0cc175b9c0f1b6a831c399e269772661" > > SELECT (MD5SUM('message digest') AS ?m) > WHERE { } > > ?r > -- > "f96b697d7cb7938d525a2f31aaf161d0" > > > ------ > > > Also, since SHA1SUM is used in FOAF, it could be included in the same > way. SHA1 is defined at: > http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf > Example code is provided at: > http://tools.ietf.org/html/rfc3174 > > > > SHA1SUM > > The SHA1SUM function accepts a single plain literal argument and > returns a simple literal containing a string of exactly 32 characters. > Each character represents a hexadecimal digit and is one of [0-9a-f]. > > The value returned from SHA1SUM, is the result of applying the SHA-1 > message-digest algorithm to the argument, as described in RFC 3174. > http://tools.ietf.org/html/rfc3174 As I mentioned in the telecon, I think if we're going to include SHA-1 it would be odd to ignore SHA-2. http://en.wikipedia.org/wiki/SHA-2 I think the pair can be handled by using a function like SHASUM('abc',256), where the second arg is the key length. The keylength 160 would mean SHA-1, and the lengths 224, 256,384, and 512 would mean SHA-2. I don't know enough about the SHA-3 proposals to know how that might be extended to SHA-3. http://en.wikipedia.org/wiki/NIST_hash_function_competition I won't object to ignoring SHA-2, but I wanted to make sure the group considered it. I use SHA-256 when I need a hash. -- Sandro > Examples: > > SELECT (SHA1SUM('') AS ?m) > WHERE { } > > ?m > -- > "da39a3ee5e6b4b0d3255bfef95601890afd80709" > > > SELECT (SHA1SUM('abc') AS ?m) > WHERE { } > > ?m > -- > "a9993e364706816aba3e25717850c26c9cd0d89d" > > > > > Regards, > Paul Gearon > >
Received on Saturday, 4 December 2010 01:02:47 UTC