Кто-нибудь знает хорошее решение для шифрования пароля в ConnectionString?Шифрование паролей JDBC в SQL Anywhere 16
Когда я пойду нормальный путь с Sybase/соком инструменты я могу соединить с dbisql.exe @encrypted_config_file.cfg
в encrypted_config_file.cfg информаций о имя_сервера, пользователя и пароль хранится. Тогда я могу encyrpt этот файл с dbhide.exe. теперь только сервер базы данных может подключиться, не сообщая пользователю реальный пароль.
кто сейчас решение, как это в Java или C, но в строке подключения в качестве опции или параметра
--using jconn3.jar
DriverManager.registerDriver((Driver) Class.forName("com.sybase.jdbc3.jdbc.SybDriver").newInstance());
con = DriverManager.getConnection("jdbc:sybase:Tds:HOSTNAME:PORT?ServiceName=Servername", "USER", "PASSWORD");
Кажется, что этот код предназначен для «переноса» зашифрованного пароля с клиента на сервер. – mhhs50
Я ищу внешнее решение, например .properties, но зашифрованное. в java-коде выше любого, у кого есть информация о битбите, может «извлечь» архив jar и расшифровать или просто прочитать пароль открытого текста, который можно войти в базу данных. – mhhs50
Да, кажется, вам нужно сделать что-то вроде создания двоичного файла на Java, тогда вам нужно создать новый класс Java (скажем, DataSourceInfo), который зашифрует текст Plain и сохранит его в двоичном файле. После этого (Когда вы инициализируете соединение), вам необходимо получить необходимую информацию, такую как имя пользователя/пароль, с помощью класса DataSourceInfo –