0

SQL Server で Java を使用しており、暗号化されていないクレジット カード列を含むテーブルがあります。AES 暗号化を使用して列内のすべてのフィールドを暗号化するにはどうすればよいですか?

SQL または Java (jdbc または hibernate) ソリューションで十分です。

Jasypt を使用して将来の値を暗号化したいのですが、既存の値を暗号化する方法がわかりません。

これは、私が使用する jasypt-spring 暗号化定義です。

<bean id="hibernateStringEncryptor"
    class="org.jasypt.hibernate.encryptor.HibernatePBEStringEncryptor">
    <property name="registeredName">
        <value>strongHibernateStringEncryptor</value>
    </property>
    <property name="password">
        <value>1234</value>
    </property>
</bean>
4

1 に答える 1

0

使用しているデータベースと、使用している暗号化アルゴリズムをサポートしているかどうかによっては、データベースで直接これを実行できる場合があります。

たとえば、MySQL と AESを使用している場合は、SQL クエリで更新できます。

update credit_card_table set card_number = AES_ENCRYPT(card_number,'password');

言うまでもなく、最初にこれをテストし、データをホースで接続しないことを確認する必要があります。

于 2011-12-02T12:45:09.943 に答える