現在、テーブルに入る途中でデータを自動的に暗号化EncryptedType
しsqlalchemy_utils
、テーブルからデータを取得するときにデータを復号化するために、定義済みの文字列を暗号化キーとして使用します。これは正常に機能しますが、要件が変更されたため、テーブルに入る途中でデータを暗号化する必要がありますが、データを取得するときに暗号化を維持する必要があります。これがEncryptedType
サポートされているかどうか、または暗号化ライブラリであると思われるものに自分でロールバックせずに SQLAlchemy を使用してこれを行う他の方法があるかどうかはわかりません。
私のテーブルの例:
class MyTable(db.Model):
__tablename__ = "my_table"
id = db.Column(db.Integer, primary_key=True, autoincrement="auto")
name = db.Column(db.String(50), nullable=False)
username = db.Column(EncryptedType(db.String, _key), nullable=True)
password = db.Column(EncryptedType(db.String, _key), nullable=True)