app.config
에 연결 문자열을 암호화하는 데 도움이 필요하며 사용하기 위해 암호를 해독하십시오.C# : app.config의 연결 문자열을 암호화하고 거기에 저장하고 암호를 해독하여 사용 하시겠습니까?
5
A
답변
2
aspnet_regiis.exe -pef
을 사용할 수 있습니다.
자세한 설명은 Encrypting the connection string in ASP.NET V2.0 및 Encrypting Web.Config Values in ASP.NET 2.0을 참조하십시오.
0
@ Li0liQ의 덧붙여 말하면 .NET Framework 2.0+ aspnet_regiis
과 함께 제공되는 명령 줄 프로그램을 사용할 수 있습니다. MSDN 설명서를 확인하십시오. here
2
수동으로 보호하려면 ProtectedData
클래스를 사용할 수 있습니다. 일부 코드 :
class ConnectionStringProtector
{
readonly byte[] _salt = new byte[] { 1, 2, 3, 4, 5, 6 }; // Random values
readonly Encoding _encoding = Encoding.Unicode;
readonly DataProtectionScope _scope = DataProtectionScope.LocalMachine;
public string Unprotect(string str)
{
var protectedData = Convert.FromBase64String(str);
var unprotected = ProtectedData.Unprotect(protectedData, _salt, _scope);
return _encoding.GetString(unprotected);
}
public string Protect(string unprotectedString)
{
var unprotected = _encoding.GetBytes(unprotectedString);
var protectedData = ProtectedData.Protect(unprotected, _salt, _scope);
return Convert.ToBase64String(protectedData);
}
}
여기서 간단한 테스트이다 :
static void Main(string[] args)
{
var originalConnectionString = "original string";
var protector = new ConnectionStringProtector();
var protectedString = protector.Protect(originalConnectionString);
Console.WriteLine(protectedString);
Console.WriteLine();
var unprotectedConnectionString = protector.Unprotect(protectedString);
Console.WriteLine(unprotectedConnectionString);
Console.WriteLine("Press ENTER to finish");
Console.ReadLine();
}
관련 문제
- 1. SQLite 데이터베이스를 암호화/해독하여 "즉시"사용
- 2. InstallShield 2011 설정으로 app.config의 연결 문자열을 변경하십시오.
- 3. 암호를 암호화하고 암호를 해독하기위한 키를 저장하는 위치
- 4. web.config 파일에 암호를 암호화하고 저장하십시오.
- 5. machine.config에 연결 문자열을 저장하고 web.config에 저장합니다.
- 6. PHP에서 문자열을 암호화하고 Visual Basic 6에서 해독하는 방법은 무엇입니까?
- 7. UrlMappings에서 문자열을 연결 하시겠습니까?
- 8. 여러 문자열을 연결 하시겠습니까?
- 9. Qt/C++로 파일을 암호화하고 암호를 해독하는 방법은 무엇입니까?
- 10. 어떻게? ASP.NET의 사용자 암호를 암호화하고 암호 해독
- 11. WinForms 앱용 app.config의 연결 문자열 암호화
- 12. EF 연결 문자열을 단순화 하시겠습니까?
- 13. 어디에서 암호를 저장 하시겠습니까?
- 14. 서블릿 필터에서 요청을 저장하고 다시 사용 하시겠습니까?
- 15. 문자열을 Linq.Expressions로 변환하거나 문자열을 선택기로 사용 하시겠습니까?
- 16. C#, App.config의 출처는 어디입니까?
- 17. mysql으로 암호화하고 sqlite3로 해독 하시겠습니까?
- 18. 서버에서 암호화하고 클라이언트에서 암호를 해독하지만 (클라이언트에서는 암호화하지 않음)?
- 19. app.config의 connectionStrings 요소를 읽습니다.
- 20. @ 기호 앞에 문자열을 사용 하시겠습니까?
- 21. $ _COOKIE []에 문자열을 사용 하시겠습니까?
- 22. 암호화 된 app.config의 배포
- 23. ASP.Net의 web.config 파일에서 연결 문자열을 저장하고 검색하는 방법은 무엇입니까?
- 24. Saleforce에 해시 문자열을 저장 하시겠습니까?
- 25. Facebook 연결 방법을 사용 하시겠습니까?
- 26. C#의 사용자 지정 구성 파일 (XML 파일)을 암호화하고 암호를 해독하는 방법
- 27. C# 웹 응용 프로그램에서 연결 문자열을 C#
- 28. app.config의 ConnectionStrings입니다. 보안은 어떻습니까?
- 29. Mongodb MapReduce를 사용하여 문자열을 연결 하시겠습니까?
- 30. Medium Trust를 사용하여 web.config 내에 ASP.NET ConnectionString을 암호화하고 저장 하시겠습니까?
참조 구현이 기술된다 [여기 (https://stackoverflow.com/a/46405204/421695). – sefakeles