#!/usr/bin/env python
import OpenSSL.crypto as crypto
import sha
import base64
KEY_BIT_LENGTH = 1024
ONION_LENGTH = 16
keys = crypto.PKey()
keys.generate_key(crypto.TYPE_RSA, KEY_BIT_LENGTH)
privkey_as_bytes = crypto.dump_privatekey(crypto.FILETYPE_ASN1, keys)
privkey_hash = sha.sha(privkey_as_bytes).digest()
onion = base64.b32encode(privkey_hash)[:ONION_LENGTH].lower() + '.onion'
print onion
print
print crypto.dump_privatekey(crypto.FILETYPE_PEM, keys)
#!/usr/bin/env python
import OpenSSL.crypto as