The recipe encrypts the value in the WHERE clause, however it seems like the usage of the libraries in the example is a bit out of date for Python 3. What Python version are you using ?
On Thu, Jul 9, 2020, at 1:15 PM, Justvuur wrote: > So there is good news and bad news hehe. > Good news is if I query all the other columns (no encrypted) columns it > works. All results are returned correctly and decrypted. > Bad news, if I query the encrypted column, nothing is "found". > > This is my model: > class StudentFormField(db.Model): > __tablename__ = 'student_form_fields' > > student_id = db.Column(Integer, ForeignKey('students.id'), primary_key=True) > > field_id = db.Column(String(100), primary_key=True) > > decrypted_field_value = db.Column("field_value", EncryptedValue(), > nullable=False) > > #field_value = db.Column(db.String) > > def __init__(self, student_id, field_id, field_value): > self.student_id = student_id > self.field_id = field_id > self.decrypted_field_value = field_value > > Query Example: > StudentFormField.query.filter_by(decrypted_field_value = 'secrets').first() > > Returns None even though I have an encrypted value of "secrets" in that > column. > Any idea what I could be doing wrong? > > On Thursday, 9 July 2020 16:37:17 UTC+2, Mike Bayer wrote: >> >> >> On Thu, Jul 9, 2020, at 4:53 AM, Justvuur wrote: >>> Hi Mike, >>> >>> This is awesome! Yes, I like the client side approach, especially the "Use >>> TypeDecorator" method. >>> Is there a specific version of SQLAlchemy I need? >> >> TypeDecorator is pretty universal so it should work for any modern version >> in the past five years at least >> >> >> >>> So with this, I would be able to query/filter an encrypted column and it >>> will automatically perform the decryption to test the column? >> >> should work, sure, try it out >> >> >> >>> >>> >>> On Wednesday, 8 July 2020 at 16:10:22 UTC+2 Mike Bayer wrote: >>>> __ >>>> I had just created all-new revised encryption examples on the wiki and >>>> apparently I forgot to link them from the index, fixed. >>>> >>>> Here's two examples showing the general idea of how this can be done: >>>> >>>> https://github.com/sqlalchemy/sqlalchemy/wiki/SymmetricEncryptionClientSide >>>> >>>> https://github.com/sqlalchemy/sqlalchemy/wiki/SymmetricEncryptionServerSide >>>> >>>> the "client side" version is more general purpose and you can use any >>>> encryption system you'd like. >>>> >>>> >>>> >>>> On Wed, Jul 8, 2020, at 6:55 AM, Justvuur wrote: >>>>> Hi All, >>>>> >>>>> In one or two database tables I need to encrypt/decrypt a couple of >>>>> columns. These tables/columns already exist in the DB and they already >>>>> have data in them. >>>>> >>>>> What is the best way using SQL Alchemy to add encryption to these >>>>> tables/columns? >>>>> It needs to be efficient and the columns need to be able to work with >>>>> querying/filtering. >>>>> >>>>> Regards, >>>>> Justin >>>>> >>>>> >>>>> >>>>> -- >>>>> SQLAlchemy - >>>>> The Python SQL Toolkit and Object Relational Mapper >>>>> >>>>> http://www.sqlalchemy.org/ >>>>> >>>>> To post example code, please provide an MCVE: Minimal, Complete, and >>>>> Verifiable Example. See http://stackoverflow.com/help/mcve for a full >>>>> description. >>>>> --- >>>>> You received this message because you are subscribed to the Google Groups >>>>> "sqlalchemy" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send an >>>>> email to sqlalchemy+...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/sqlalchemy/583d5772-50e4-484a-93e2-fcab29532116n%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/sqlalchemy/583d5772-50e4-484a-93e2-fcab29532116n%40googlegroups.com?utm_medium=email&utm_source=footer>. >>>> >>> >>> -- >>> SQLAlchemy - >>> The Python SQL Toolkit and Object Relational Mapper >>> >>> http://www.sqlalchemy.org/ >>> >>> To post example code, please provide an MCVE: Minimal, Complete, and >>> Verifiable Example. See http://stackoverflow.com/help/mcve for a full >>> description. >>> --- >>> You received this message because you are subscribed to the Google Groups >>> "sqlalchemy" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to sqlal...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/sqlalchemy/1164ebf3-4ee3-4434-a21c-fe12ce57f556n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/sqlalchemy/1164ebf3-4ee3-4434-a21c-fe12ce57f556n%40googlegroups.com?utm_medium=email&utm_source=footer>. >> > > -- > SQLAlchemy - > The Python SQL Toolkit and Object Relational Mapper > > http://www.sqlalchemy.org/ > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > --- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sqlalchemy/0cb3753d-8f5e-41af-8770-ec15dd538fa2o%40googlegroups.com > > <https://groups.google.com/d/msgid/sqlalchemy/0cb3753d-8f5e-41af-8770-ec15dd538fa2o%40googlegroups.com?utm_medium=email&utm_source=footer>. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/a71b6e9e-a82f-4257-a06c-3344e6dfb226%40www.fastmail.com.