Working with bytes.
Scott David Daniels
Scott.Daniels at Acm.Org
Sat Apr 3 12:15:13 EST 2004
Adam T. Gautier wrote:
> I have been unable to solve a problem. I am working with MD5 signatures
> trying to put these in a database. The MD5 signatures are not generated
> using the python md5 module but an external application that is
> producing the valid 16 byte signature formats. Anyway, these 16 byte
> signatures are not nescarrally valid strings. How do I manipulate the
> bytes? I need to concatenate the bytes with a SQL statement which is a
> string. This works fine for most of the md5 signatures but some blow up
> with a TypeError. Because there is a NULL byte or something else. So I
> guess my ultimate question is how do I get a prepared SQL statement to
> accept a series of bytes? How do I convert the bytes to a valid string
> like:
>
> 'x%L9d\340\316\262\363\037\311\345<\262\357\215'
>
> that can be concatenated?
>
> Thanks
>
This should probably do:
cursor.execute('SELECT author from stored where md5 = ?', md5)
But you might consider changing your approach to store hex strings:
cursor.execute('SELECT author from stored where md5 = ?',
''.join(['%02x' % byte for byte in md5]))
--
-Scott David Daniels
Scott.Daniels at Acm.Org
More information about the Python-list
mailing list