You can use the same approach we use in `libcloud.compute.base`:

```python
value = os.urandom(16)
value = binascii.hexlify(value).decode('ascii')
```

The resulting value should match the a-z0-9 criteria :)