sql >> データベース >  >> RDS >> PostgreSQL

Hibernate@ColumnTransformerを使用してPostgresで列を暗号化する方法

    pgp_sym_encryptを使用する必要があります 書き込みおよびpgp_sym_decrypt用 読むために。あなたは反対のことをしました。

    @ColumnTransformer(
        read =  "pgp_sym_decrypt(" +
                "    test, " +
                "    current_setting('encrypt.key')" +
                ")",
        write = "pgp_sym_encrypt( " +
                "    ?, " +
                "    current_setting('encrypt.key')" +
                ") "
    )
    @Column(columnDefinition = "bytea")
    private String test;
    

    マッピングに暗号化キーをハードコーディングすることはあまり良い考えとは思えないため、代わりにユーザー定義設定にPostgreSQLサポートを使用します。

    したがって、 encrypt.key> postgresql.confに保存されます 構成ファイル:

    encrypt.key = 'Wow! So much security.'
    

    例はGitHubにあります チャームのように機能します。



    1. Oracleで増分値を30分として日時値を増分する方法は?

    2. mySQL replace()を使用して複数のレコードの文字列を置き換えるにはどうすればよいですか?

    3. Toxiの方法を正規化することは本当に価値がありますか? (3NF)

    4. 12cアダプティブプラン