【问题标题】:Encrypting all values in a SQL Server column加密 SQL Server 列中的所有值
【发布时间】:2011-12-01 17:15:52
【问题描述】:

我在 SQL Server 上使用 Java,并且有一个包含未加密信用卡列的表。 如何使用 AES 加密对列中的所有字段进行加密?

可以使用 SQL 或 Java(jdbc 或休眠)解决方案。

我想开始使用 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>

【问题讨论】:

    标签: java sql-server hibernate encryption jasypt


    【解决方案1】:

    您可以直接在数据库上执行此操作,具体取决于您使用的数据库以及它是否支持您使用的加密算法。

    例如,如果您使用的是MySQL and AES,那么您可以只使用 SQL 查询进行更新;

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

    不用说,您需要先对此进行测试,并确保您不会泄露您的数据。

    【讨论】:

    • 谢谢,AES_ENCRYPT 是否会使用默认算法进行与 HibernatePBEStringEncryptor 相同的加密?还是我应该使用不同的加密方案?(我使用的是 sql server 2005)
    猜你喜欢
    • 2017-04-19
    • 2011-01-10
    • 2011-06-05
    • 1970-01-01
    • 2016-09-16
    • 2012-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多