Шифрование всех значений в столбце SQL Server - PullRequest
0 голосов
/ 01 декабря 2011

Я использую Java поверх SQL Server и у меня есть таблица с незашифрованным столбцом кредитной карты.Как зашифровать все поля в столбце с использованием шифрования 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>

1 Ответ

0 голосов
/ 02 декабря 2011

Вы можете сделать это непосредственно в базе данных, в зависимости от того, какую базу данных вы используете, и поддерживает ли она используемый вами алгоритм шифрования.

Например, если вы используете MySQL и AES , вы можете просто обновить запрос SQL;

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

Само собой разумеется, что вам нужно сначала проверить это и убедиться, что вы не собираетесь передавать свои данные.

...