2016-08-11 2 views
0

AES256은 정확히 32 바이트의 데이터 인 32 비트 키를 ASCII 문자로 32 문자 사용합니다. 그리고 대부분 시스템 생성 키입니다. C#에서 AES 클래스를 사용하여 일반 텍스트 파일을 암호화하는 프로젝트를 개발 중입니다. 이 프로젝트에는 사용자에게 키를 제공하도록 요청하는 창 형식이 있습니다. 사용자 제공 키를 사용하여 일반 텍스트를 암호화하는 방법이 있습니까?AES 암호화에서 사용자 제공 키 C#

+1

왜 없을까요? – CodeCaster

+0

[C# System.Security.Cryptography.Aes를 사용하는 AES256 암호화의 예] 가능한 복제본 (http://stackoverflow.com/questions/7400884/c-sharp-example-of-aes256-encryption-using-system-security- 암호 - 에이스) – active92

답변

2

사용자에게 을 묻지 마십시오. 사용자에게 암호 문구을 요청한 다음 key derivation algorithms 업계 표준 중 하나를 사용하여 암호 구문에서 PBKDF2과 같은 키를 생성해야합니다. 닷넷은 Rfc2898DeriveBytes 클래스로 이것을 지원합니다. 링크를 사용하는 방법은 링크의 예를 참조하십시오. 또한 좋은 초기화 벡터를 생성하고 암호화 된 파일 앞에 추가하십시오.

시스템 생성 키와 사용자 제공 암호 구문을 혼용해서는 안됩니다. 키를 생성하면 에 키 교환 프로토콜이 있어야합니다 (예 : TLS.

기본 암호에 대해 문서를 작성하는 데 시간을 할애하십시오. The Handbook은 좋은 시작 읽기 (및 무료)입니다. 아직 다른 Broken Crypto 제품을 출시하지 마십시오 ...