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 回答