2010-02-10 7 views
2

XML 속성의 일부분을 난독 화하는 방법이 있습니까?XML 암호 난독 화

다음 xml 속성의 user = 및 password = 부분을 암호화하여 파일을 보는 사람이 암호를 볼 수 없도록합니다. Java DOM을 사용하여이를 수행 할 수있는 방법이 있습니까?

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

Java 코드로 대답 할 수 있다면 좋을 것입니다.

감사합니다.

+3

이것은 XML이 아니므로 태그를 제거했습니다. –

+0

xml이 아닌 이유는 무엇입니까? xml 요소를 난독 화하려고합니다. – chama

+0

이 질문을보십시오. 그것은 당신과 비슷하며 올바른 방향으로 당신을 가리킬 수도 있습니다."어떻게 MySQL 사용자 이름과 암호를 디 컴파일에서 보호 할 수 있습니까?" http://stackoverflow.com/questions/442862- –

답변

1

나는 자바 사람이 아니지만. 하지만 몇 가지 절차를 통해 당신을 도울 수 있습니다.

  1. 는 몇 가지 암호화 알고리즘과 base64로 인코더 프로그램 만 알고 base64로 그것을 인코딩 정적 씨와 비밀번호 암호화
  2. 를 찾을 수 있습니다.
    1. 암호의 부분을 base64 인코딩을 분석 복호화 들어 password=

    옆을 base64 인코딩 된 문자열을 넣어.

  3. 암호를 base64로 디코드하십시오.
  4. 그리고 암호로 암호를 해독하십시오.
  5. 디코딩/암호 해독 된 암호로 base64로 인코딩 된 문자열을 대체하십시오.

AES, TwoFish와 같은 암호화 알고리즘을 시도해 볼 수 있습니다.

0

ASP.NET 응용 프로그램의 연결 문자열을 비공개로 유지하는 일반적인 방법은 연결 문자열을 웹 서버의 레지스트리에 저장 한 다음 ASP 웹 사이트에서 해당 값을로드하는 것입니다.

레지스트리에 반대하거나 크로스 플랫폼 방법을 원한다고해도, 가장 좋은 방법은 외부인이 읽을 수없는 문자열을 배치하는 것입니다. 이것은 루트 웹 사이트 디렉토리 외부에있을 수도 있고 (웹 사이트 인 경우) 사용자에게 메시지를 표시하거나 (전혀 저장하지 않음) 다른 곳에서 숨길 수도 있습니다. 리눅스 박스에서는 Java 프로그램을 실행하는 사용자에게만 액세스를 제한하기 위해 chmod 700조차도 사용할 수 있습니다.

0

XML 파일에서 노드를 제거하거나 해시하는 데 사용할 수있는 Silencio 라이브러리를 살펴볼 수 있습니다. 변환 할 노드를 결정할 수 있습니다 (암호와 같은 일부만 난독화할 수 있음). 적용 할 내용 (내용, 해시 또는 사용자 정의 내용 지우기)