Хранение секретного ключа в базе данных и его извлечение - PullRequest
0 голосов
/ 09 июля 2010

Я занимаюсь проектом по шифрованию и дешифрованию пароля с использованием алгоритма AES.Мне нужно хранить ключ типа SecretKeySpec в базе данных (ms-access) и получить его.Как я могу это сделать?Я создал столбец в базе данных типа объекта oletype.Я использую запрос:

String query="insert into encrypt values(?)";

как установить параметр в запросе?

Ответы [ 2 ]

0 голосов
/ 12 января 2011

Лучший способ - использовать PreparedStatement, например:

PreparedStatement ps = connection.prepareStatement("insert into encrypt values (?)");
ps.setBytes(1, rawKeyBytes);
ps.execute();

Я бы посоветовал вам не использовать oletype;вероятно, лучше сделать из него каплю.Помните, что ключ - это просто массив байтов.Не пытайтесь хранить SecretKeySpec - вместо этого сохраняйте необработанные байты ключа.

0 голосов
/ 09 июля 2010

Насколько я знаю, Access поддерживает тип OLE Object для хранения MS-документов и двоичных данных, таких как pictures, sounds, or other binary data.С условием, что « они должны быть созданы в других программах, использующих протокол OLE, которые могут быть связаны с таблицей Microsoft Access или встроены в нее. Необходимо использовать связанный объектный фрейм в форме или отчете для отображенияOLE объект."

Я хотел бы предложить использовать MS SQL Server или MySQL (движки), чтобы можно было навязывать множество целостности и проверок согласованности больше качественно и эффективно .MySQL предоставляет способ хранения двоичных значений с типом BLOB.SQL Server предоставляет binary и varbinary для той же цели ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...