On 5/13/07, elemental <[EMAIL PROTECTED]> wrote: > UnicodeDecodeError at /register/ > 'ascii' codec can't decode byte 0xb4 in position 0: ordinal not in > range(128) > > For reference, here is the save portion of the model: > > def save(self): > key = ezPyCrypto.key(512) > self.passport = key.encString(self.passport)
First, I'd recommend making a slight modification to this... you're continually re-encrypting the passport information... so if you call .save() twice you'll get an double-encrypted .passport value. One option can be found in the Satchmo Project's handling of credit card data. [0] They use a storeCC method and a decryptedCC property to handle encryption/decryption. Another option is to use getter and setter methods, and access them via a property... this way encryption and decryption are transparent operations (this may or may not be desirable, depending on your environment). So, for example: class YourModel(models.Model): ... encrypted_passport = models.CharField(...) def get_passport(self): #decrypt and return decrypted value def set_passport(self, value): #encrypt and store in self.encrypted_passport passport = property(get_passport, set_passport) Getting back to your original question, this sounds like you're getting binary data back from encString (it looks like it's built on top of pycrypto[1], so that's likely). You can try the following to convert it to ASCII text before saving it: self.passport = key.encString(...).encode('base64') Then, just run .decode('base64') on the string before running decryption. Hope that helps, - Ben [0] http://www.satchmoproject.com/trac/browser/satchmo/trunk/satchmo/payment/models.py [1] http://www.amk.ca/python/code/crypto.html --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---