[Python-Dev] os.urandom API (original) (raw)
Josiah Carlson jcarlson at uci.edu
Mon Aug 30 05:48:49 CEST 2004
- Previous message: [Python-Dev] os.urandom API
- Next message: [Python-Dev] os.urandom API
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
(Quick apology to Tim for accidentally sending this to him only, I recently switched email clients and am still getting used to it)
Note that it's easy (abeit obscure) to generate a long from a string s:
long(binascii.hexlify(s), 16)
or even: long(s.encode('hex'), 16)
It's harder to go in the other direction. First you do hex(n). Then
Perhaps what is needed is a method to easily convert between large integers and strings. It seems as though a new struct conversion code is in order, something that works similarly to the way the 's' code works:
#pack the integer bigint as a signed big-endian packed binary string, #null-filling as necessary, for 64 bytes of precision a = struct.pack('>64g', bigint)
#unpack an unsigned little-endian packed binary string of 24 bytes to a #python long b = struct.unpack('<24G', a)
With such a change, I think many of the string/integer translation complaints would disappear.
- Josiah
- Previous message: [Python-Dev] os.urandom API
- Next message: [Python-Dev] os.urandom API
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]