Я планировал зашифровать строку с помощью открытого ключа, который хранится в базе данных как Blob. Я создал метод с именем readBlob()
, чтобы прочитать ключ и сохранить его в файл.
public static void readBlob(int userid, String filename) throws SQLException, IOException {
String url = "jdbc:mysql://localhost:3306/bank";
String user = "root";
String password = "root";
String email=null;
Connection conn = DriverManager.getConnection(url, user, password);
String sql = "select * from users where user_id=?";
PreparedStatement statement = conn.prepareStatement(sql);
statement.setLong(1, userid);
ResultSet result = statement.executeQuery();
File file = new File(filename);
@SuppressWarnings("resource")
FileOutputStream output = new FileOutputStream(file);
String keys=null;
while(result.next()) {
byte[] buffer = new byte[1];
InputStream input = result.getBinaryStream("key");
while (input.read(buffer) > 0) {
output.write(buffer);
}
}
}
Это сработало очень хорошо, но мне не нужно сохранять его в локальном файле, мне нужен способ читать Blob, не сохраняя его.