python-rsa /

#!/usr/bin/env python

'''Re-encryption demonstration

This little program shows how to re-encrypt crypto from versions older than 2.0.
Those versions were inherently insecure, and version 2.0 solves those
insecurities. This did result in a different crypto format, so it's not backward
compatible. Use this program as a demonstration on how to re-encrypt your
files/passwords/whatevers into the new format.

import sys
import rsa
from rsa import _version133 as insecure

(pub, priv) = rsa.newkeys(64)

# Construct the encrypted content. You'd typically read an encrypted file or
# stream here.
cleartext = 'Give me more cowbell'
old_crypto = insecure.encrypt(cleartext, pub)
print 'Old crypto:', old_crypto

# Decrypt and re-encrypt the contents to make it compatible with the new RSA
# module.
decrypted = insecure.decrypt(old_crypto, priv)
new_crypto = rsa.encrypt(decrypted, pub)

print 'New crypto:', new_crypto