내가 작업중인 프로젝트 중 하나에서 암호화 메커니즘을 사용해야합니다. 나는 RSA 암호화를 탐색하고 배울 몇 가지 샘플 프로그램을 썼다.RSA 암호화 (RSACryptoServiceProvider)를 사용하여 암호화 된 데이터 크기
RSA 암호화의 블록 크기가 16 바이트임을 이해합니다.
public static string Encrypt (string input) { var byteConverter = new UnicodeEncoding(); RSACryptoServiceProvider cruptoEngine = new RSACryptoServiceProvider(); byte[] output = cruptoEngine.Encrypt (byteConverter.GetBytes (input), false); return BytesToString (output); //BytesToString() converts the bytes to hex string }
지금은 128 바이트 (256 개 진수 문자)입니다 얻을 암호화 된 문자열 : 그래서 입력으로 기능 아래에 문자열 "12345678"를했다. 이 문자열은 나에게 너무 큽니다. 16 바이트의 일반 데이터를 제공하면 16 바이트의 암호화 된 데이터를 얻길 바랬습니다. 내가 뭔가 잘못하고 있는거야? 이 일이 일어날 것입니까? 어떻게 든 암호화 된 데이터를 줄일 수 있습니까?