2010-07-30 4 views
1

내 모든 VB6 응용 프로그램에서 연결 정보는 데이터베이스의 암호화 된 필드에 저장되었습니다. 어느 누구도 데이터베이스에 액세스 할 수 없으며 누구든지 볼 수있는 모든 것은 암호화 된 값의 집합입니다.연결 문자열은 어디에 저장합니까?

이 방법에는 항상 결함이있었습니다. 이 연결 정보를 가져 와서 문자열을 형성하는 응용 프로그램에서 하드 코딩 된 ID/비밀번호를 사용하여 필요한 연결 정보를 가져옵니다.

.NET 환경에서이 하드 코드 된 ID/암호를 app.exe.config 파일에 저장하고 있습니다. 파일에서 연결 문자열을 암호화하는 것이 좋습니다.

이 암호화/암호 해독을 수행하는 데 사용할 수있는 클래스는 무엇입니까?

답변

5

읽기 :

Encrypting Configuration Information in ASP.NET 2.0 Applications

기본적으로 ASP.NET 인프라는 암호화하는 데 필요한 도구를 가지고 있으며, .NET 구성 서브 시스템은 필요할 때 암호를 해독하는 방법을 알고있다 - 그래서 거기 정말로 이미 거기에있는 모든 것, 당신이 사용할 준비가되었습니다!

는이 같은 aspnet_regiis 유틸리티, 뭔가를 사용하는 것, 암호화하려면 :
aspnet_regiis.exe -pef "connectionStrings" "C:\Inetpub\wwwroot\MySite" 

및 암호 해독

- 아무것도 할 필요가 없다, .NET 당신을 위해 투명하게 처리합니다.

UPDATE : .NET의 에 대한 모든에 대한 그 메커니즘 - 그들은 .NET의 기본 인프라의 일부입니다. 이러한 기술과 조리법을 콘솔 앱이나 Windows 서비스에 사용할 수 있습니다. 마이크로 소프트는 ASP.NET 케이스에서 web.config의 섹션을 암호화하기위한 툴링 만 제공합니다.하지만 모든 종류의. NET 응용 프로그램에서 API와 호출을 사용할 수 있습니다. 콘솔 응용 프로그램에서부터 Windows 서비스.

모든 .NET 구성 파일의 섹션을 암호화하는 방법을 보여주는 전체 .NET 소스와 함께 제공되는 small utility on my SkyDrive이 있습니다. 그 내용을 확인하고 자신이 적합하다고 생각하는 방식으로 노력하십시오.

+0

왜 모두가 투표를합니까? OP는 ASP.NET에서도 작동하지 않습니다! –

+0

누군가가 대답하고 그의 담당자가 50k 이상이면, 그는 항상 올바른 천재 여야 만합니다 ...? 이것은 marc_s에서 찌르는 것이 아닙니다. 나는 이것이 항상 여기서 일어나는 것을보고 커뮤니티의 가치에 해를 끼친다. 그만둬야 해. –

+0

Marc_S, 클라이언트 기반 응용 프로그램에서 작업하고 있습니다. ASP .NET과 아무 관련이 없습니다. 유틸리티의 외형에 따르면, IIS에서 작동하는 것처럼 보입니다. – abhi

관련 문제