我在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>
答案 0 :(得分:0)
您可以直接在数据库上执行此操作,具体取决于您使用的数据库以及它是否支持您使用的加密算法。
例如,如果您使用的是MySQL and AES,那么您只需使用SQL查询进行更新;
update credit_card_table set card_number = AES_ENCRYPT(card_number,'password');
毋庸置疑,您需要首先对此进行测试,并确保您不会对数据进行测试。