I have not tried it but you can do
class EncryptedField(Field):
def __init__(self,*a,**b):
self.password = b['password']
del b['password']
Field.__init__(self,*a,**b)
def store(self,file, filename=None, path=None):
newfile = encrypt(file,self.password)
return Field.store(self,file,filename,path)
def retrieve(self, name, path=None):
(filename, file) = Field.retrieve(self,name,path)
newfile = decrypt(file,self.password)
return (filename, newfile)
the use
db.define_table('person',Field('name'),EncryptedField('secret','upload',password='too
many secrets!'))
On Thursday, 12 April 2012 16:35:36 UTC-5, naveed wrote:
>
> I wasn’t asking as how to encrypt the file itself, but how to
> incorporate it in to web2py’s existing excellent form upload and download
> system. Assuming that we have functions encrypt(file, password) and
> decrypt(file, password) which return the encrypted and decrypted file
> respectively.
>
>
> *From:* Massimo Di Pierro <[email protected]>
> *Sent:* Wednesday, April 11, 2012 13.31
> *To:* [email protected]
> *Subject:* Re: [web2py] Re: web2py: encrypt uploaded files
>
> Perhaps this can be useful:
>
> http://stackoverflow.com/questions/6309958/encrypting-a-file-with-rsa-in-python
> (look at code in first answer)
>
> On Wednesday, 11 April 2012 12:35:05 UTC-5, naveed wrote:
>>
>> Thanks Massimo for getting back. I can’t use an encrypted file system
>> as when the file system is mounted, it’s totally open. Every file can be
>> encrypted with the same master password. I’m thinking of storing this
>> master password which is itself encrypted using the user’s password (or
>> it’s hash) in the auth_user table.
>>
>> On a related note, I am planning to encrypt some columns of other tables
>> using the same master password. Your thoughts on this approach?
>>
>>
>> *From:* Massimo Di Pierro <[email protected]>
>> *Sent:* Wednesday, April 11, 2012 12.13
>> *To:* [email protected]
>> *Subject:* [web2py] Re: web2py: encrypt uploaded files
>>
>> What are the specs? Can you store them in an encrypted file system? can
>> you encrypt them with the same password? Should every file be encrypted
>> with a different password? Where should the passwords be stored?
>>
>> On Wednesday, 11 April 2012 11:54:24 UTC-5, naveed wrote:
>>>
>>> I need to encrypt uploaded files in web2py (for a HIPAA compliant
>>> application) preferably with AES. How can I accomplish this?
>>>
>>