2014-03-29 4 views
0

Dictionaries이 파일에 대한 내 응용 프로그램에 있습니다. 그래서이 파일을 열면 파일과 함께 저장된 클래스 이름 및 기타 정보를 볼 수 있습니다. 안전합니까? 모든 사람들이 내 응용 프로그램에서 만든 저장된 파일을 열고 내가 사용한 수업을 볼 수 있습니까? 여기에 내가 Serialize 내 개체에 사용했던 방법 : 내가 파일에 내 응용 프로그램에서 내 개체를 저장 가지고 어떤 대안직렬화에 대한 안전 문제 C#

Serialization of two Dictionaries at once

입니다.

+0

은 사용하는 응용 프로그램의 종류에 따라 달라집니다. – thumbmunkeys

+0

오랫동안 일련 번호가 지정된 정보를 저장 하시겠습니까? 나는 그런 필요성을 결코 보지 못했다. – Rahul

답변

2

예, 직렬화 된 객체의 구조를 볼 수 있습니다 (이진 파일로 직렬화하면 다소 어려워서 많은 도움이되지 않을 수 있습니다).

그러나 어쨌든 누구나 소스 코드를 볼 수 있습니다. .NET Reflector 또는 ildasm을 생각해보십시오. 나는 개인적으로 그것에 대해 걱정하지 않을 것이다, 나는 이것에 어떤 문제도 보지 않는다.

+0

맞습니다. 게다가 연구/테스트 목적 이외에 직렬화 된 오브젝트 파일을 영구적으로 저장할 필요가 없을 것입니다. 그래서 그들은 안전하다고 가정해야합니다. – Rahul

2

파일을 암호화하여 내용을 숨길 수 있습니다. 따라서 암호화 된 파일을 읽으려면 메모리에 읽은 다음 해독 한 다음 deserialization Formatter으로 전달해야합니다.

1

내 의견으로는, 당신은 두려워해서는 안되지만 당신의 필요에 달려 있습니다. 중요하다고 판단되면 데이터를 다른 장소 (원격 저장소)에 저장하는 것이 좋습니다.

당신은 내용 숨기기 3 개의 대안이됩니다

  1. 암호화 객체를, 및 직렬화 (최고의 로컬 스토리지 및 우편 용) - http://msdn.microsoft.com/en-us/library/as0w18af(v=vs.110).aspx
  2. 직렬화 객체, 그리고 (더 파일을 암호화 당신이
에 무슨 그림 TXT에서 파일을 열 수 있습니다 - 정말 작동하지 않습니다, 최악의 - http://support.microsoft.com/kb/307010
  • serialaztion 이진 -, 파일)을 삭제 처리해야합니다

    이것이 프로그램에서 중요한 부분이라면, 첫 번째 방법이 최선이라고 생각합니다.