[SQL] 암호화 SQL ConnectionString을 C #
SQL암호화 SQL ConnectionString을 C #
나는 SQL 2005 서버에 연결 (하지 웹 페이지 ASP)는 C # 응용 프로그램을 만들었습니다. 내 소스 코드에서이 SQL 서버에 대한 암호 및 사용자 ID는 ConnectionString에 일반 텍스트를 코드화된다.
SqlConnection con = new SqlConnection();
con.ConnectionString =
"Data Source=server1;"+
"Initial Catalog=mydatabase;"+
"Integrated Security=no;"+
"User ID=admin;Password=mypassword;";
con.Open();
암호화 암호 또는 전체를 ConnectionString에 쉬운 방법은 내 도구를 분해 다른 사람이 암호를 볼 수없는 것이 있나요?
감사
해결법
-
==============================
1.당신은 설정 파일에 연결 문자열을 저장하고 해당 섹션을 암호화한다. http://www.4guysfromrolla.com/articles/021506-1.aspx 또는 http://msdn.microsoft.com/en-us/library/89211k9b%28VS.80%29.aspx 참조하십시오.
당신은 설정 파일에 연결 문자열을 저장하고 해당 섹션을 암호화한다. http://www.4guysfromrolla.com/articles/021506-1.aspx 또는 http://msdn.microsoft.com/en-us/library/89211k9b%28VS.80%29.aspx 참조하십시오.
-
==============================
2.그것을하는 두 가지 방법이 있습니다 :
그것을하는 두 가지 방법이 있습니다 :
1) 당신은 구성 소스 코드에서 암호화 및 해독 연결 문자열 섹션을 고정 사용할 수 있습니다 :
try { // Open the configuration file and retrieve // the connectionStrings section. Configuration config = ConfigurationManager. OpenExeConfiguration(exeConfigName); ConnectionStringsSection section = config.GetSection("connectionStrings") as ConnectionStringsSection; if (section.SectionInformation.IsProtected) { // Remove encryption. section.SectionInformation.UnprotectSection(); } else { // Encrypt the section. section.SectionInformation.ProtectSection( "DataProtectionConfigurationProvider"); } // Save the current configuration. config.Save(); Console.WriteLine("Protected={0}", section.SectionInformation.IsProtected); } catch (Exception ex) { Console.WriteLine(ex.Message); }
2) 당신은 엔터프라이즈 라이브러리 데이터 액세스 응용 프로그램 블록 RSAProtectedConfigurationProvider 또는 DPAPIProtectedConfigurationProvider를 사용하여 암호화를 수행 할 수 있습니다.
> http://msdn.microsoft.com/en-us/library/89211k9b(VS.80).aspx - 전체 articvle 사이트로 이동
-
==============================
3.아니, 당신은 단지 그것을 어렵게 만들 수 있습니다
아니, 당신은 단지 그것을 어렵게 만들 수 있습니다
이 응용 프로그램은 필요한 테이블 / 절차에 액세스 할 수있어 특별한 데이터베이스 로그인을 사용할 수 있도록하는 것이 좋습니다.
-
==============================
4.당신의 Web.config 같은 방법으로의 app.config 섹션을 암호화 할 수 있습니다. MS는 구성을 보호 호출합니다. enrypted 데이터에만 어렵게 만드는 동일한 시스템에서 키 상주하지만 이론적으로는 모두 불가능하기 때문에하면 데이터를 얻을 수 있습니다.
당신의 Web.config 같은 방법으로의 app.config 섹션을 암호화 할 수 있습니다. MS는 구성을 보호 호출합니다. enrypted 데이터에만 어렵게 만드는 동일한 시스템에서 키 상주하지만 이론적으로는 모두 불가능하기 때문에하면 데이터를 얻을 수 있습니다.
-
==============================
5.당신은 또한 대신 설정 파일에 저장하는 레지스트리에서 사용자 이름과 암호를 저장할 수 있습니다. 데이터베이스에 연결하려고 할 때 레지스트리에서 사용자 이름과 암호를 읽어보십시오. 레지스트리에서 검색하는 동안 당신은 레지스트리 및 암호 해독 사용자 이름에 저장하는 동안 사용자 이름을 암호화 및 암호해야 및 암호를 기억하십시오.
당신은 또한 대신 설정 파일에 저장하는 레지스트리에서 사용자 이름과 암호를 저장할 수 있습니다. 데이터베이스에 연결하려고 할 때 레지스트리에서 사용자 이름과 암호를 읽어보십시오. 레지스트리에서 검색하는 동안 당신은 레지스트리 및 암호 해독 사용자 이름에 저장하는 동안 사용자 이름을 암호화 및 암호해야 및 암호를 기억하십시오.
from https://stackoverflow.com/questions/2160515/encrypt-sql-connectionstring-c-sharp by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 쉼표로 구분 된 목록 열에 별개의 행을 선택 MYSQL (0) | 2020.05.13 |
---|---|
[SQL] PYODBC - 데이터 원본 이름을 찾을 수 없습니다 지정된 기본 드라이버가 없습니다 (0) | 2020.05.13 |
[SQL] 오라클 SQL에서 'YYYY'와 'RRRR'의 차이점은 무엇입니까 (0) | 2020.05.13 |
[SQL] 쉼표로 구분 된 목록 건물? (0) | 2020.05.13 |
[SQL] 오라클은 SQL * 플러스에서 CREATE TABLE 문을 얻는 방법 (0) | 2020.05.13 |