Запутывание паролей XML - PullRequest
       15

Запутывание паролей XML

2 голосов
/ 10 февраля 2010

Есть ли способ скрыть часть атрибута XML?

Я хочу зашифровать user = и password = часть следующего атрибута xml, чтобы никто не просматривал файл и не мог видеть пароль. Есть ли способ сделать это с помощью Java DOM?

<connectionString="Data Source=Winserver\sqlexpress;Initial Catalog=haven;Integrated Security=false;user=admin;password="/>

Если бы вы могли ответить с помощью кода Java, это было бы замечательно.

Спасибо!

Ответы [ 4 ]

1 голос
/ 10 февраля 2010

Я не парень из Java, хотя. Но я могу помочь вам с некоторыми процедурами.

  1. Найти алгоритм шифрования и кодировщик base64
  2. Зашифруйте ваш пароль статическим начальным числом, которое знает только ваша программа, и base64 закодирует его.
  3. Поместите строку в кодировке base64 рядом с password=

Для декодирования

  1. Анализ пароли в кодировке base64.
  2. Расшифруйте пароль с помощью base64.
  3. И расшифруйте пароль своим семенем.
  4. Замените строку в кодировке base64 на ваш расшифрованный / расшифрованный пароль.

Вы можете попробовать алгоритмы шифрования, такие как AES, TwoFish.

0 голосов
/ 06 января 2016

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

0 голосов
/ 10 февраля 2010

Я считаю, что наиболее распространенный способ сохранить строку подключения приложения ASP.NET в секрете - поместить строку подключения в реестр веб-сервера, а затем просто загрузить это значение на веб-сайт ASP.

Но даже если вы были против регистрации или хотели использовать кроссплатформенный метод, я думаю, что вам лучше всего поставить строку в такое место, где посторонние не смогут ее прочитать. Это может быть за пределами корневого каталога веб-сайта (если это веб-сайт), или запрашивать у пользователя (не хранить его вообще), или скрывать его где-то еще. В Linux вы можете даже использовать chmod 700, чтобы ограничить доступ только пользователю, который запускает Java-программу.

0 голосов
/ 10 февраля 2010

Возможно зашифровать данные XML.

Для получения дополнительной информации посмотрите http://www.w3.org/Encryption/2001/.

Я полагаю, что есть много способов сделать это в Java, в зависимостина вашем XML Api у вас уже есть встроенная поддержка для этого.Вы также можете взглянуть на Java цифровая подпись API http://java.sun.com/developer/technicalArticles/xml/dig_signature_api/

...