2016-07-21 7 views
0

Кто-нибудь знает хорошее решение для шифрования пароля в 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"); 

ответ

0

Из Sybase info-center site, кажется, что вам нужно сделать что-то вроде следующего:

String url = "jdbc:sybase:Tds:myserver:3697"; 
Properties props = new Properties(); 
props.put("ENCRYPT_PASSWORD ", “true”); 
props.put("JCE_PROVIDER_CLASS", 
"org.bouncycastle.jce.provider.BouncyCastleProvider"); 

/* Set up additional connnection properties as needed */ 
props.put("user", "xyz"); 
props.put("password", "123"); 

/* get the connection */ 
Connection con = DriverManager.getConnection(url, props); 

Надеюсь, это будет полезно.

+0

Кажется, что этот код предназначен для «переноса» зашифрованного пароля с клиента на сервер. – mhhs50

+0

Я ищу внешнее решение, например .properties, но зашифрованное. в java-коде выше любого, у кого есть информация о битбите, может «извлечь» архив jar и расшифровать или просто прочитать пароль открытого текста, который можно войти в базу данных. – mhhs50

+0

Да, кажется, вам нужно сделать что-то вроде создания двоичного файла на Java, тогда вам нужно создать новый класс Java (скажем, DataSourceInfo), который зашифрует текст Plain и сохранит его в двоичном файле. После этого (Когда вы инициализируете соединение), вам необходимо получить необходимую информацию, такую ​​как имя пользователя/пароль, с помощью класса DataSourceInfo –

 Смежные вопросы

  • Нет связанных вопросов^_^