md5 해시 할 수있는 문자열의 최대 길이는 얼마입니까? 또는 : 제한이 없으면 md5 출력 값의 최대 길이는 얼마입니까?
답변
MD5는 임의 길이의 메시지를 128 비트의 고정 길이 출력으로 처리하며 일반적으로 32 개의 16 진수 시퀀스로 표시됩니다.
답변
- 메시지의 길이는 무제한 입니다.
추가 길이
b의 64 비트 표현 (패딩 비트가 추가되기 전의 메시지 길이)이 이전 단계의 결과에 추가됩니다. b가 2 ^ 64보다 큰 경우는 드물지만 b의 하위 64 비트 만 사용됩니다.
- 해시는 항상 128 비트입니다. 16 진 문자열로 인코딩하면 문자 당 4 비트를 인코딩하여 32자를 제공 할 수 있습니다.
- MD5는 암호화가 아닙니다. 일반적으로 MD5 해시를 “암호 해독”하여 원래 문자열을 가져올 수 없습니다.
답변
길이는 얼마든지 가능하지만 문자열 입력이 너무 길면 컴퓨터에 메모리 문제가있을 수 있습니다. 출력은 항상 32 자입니다.
답변
이 알고리즘은 임의의 입력 길이를 지원하도록 설계되었습니다. 즉, ISO DVD와 같은 큰 파일의 해시를 계산할 수 있습니다 …
입력에 대한 제한이 있으면 해시 함수가 사용되는 환경에서 올 수 있습니다. 파일을 계산하려고하고 환경에 MAX_FILE 제한이 있다고 가정 해 봅시다.
그러나 출력 문자열은 항상 동일합니다 : 32 16 진수 (128 비트)!
답변
128 비트 MD5 해시는 32 개의 16 진수로 표시됩니다.
답변
답변
내가 아는 md5의 입력에는 제한이 없습니다. 일부 구현에서는 md5 함수에 전달하기 전에 전체 입력을 메모리에로드해야합니다 (즉, 구현은 스트림이 아니라 메모리 블록에 대해 작동 함). 그러나 이는 알고리즘 자체의 제한 사항이 아닙니다. 출력은 항상 128 비트입니다. md5는 암호화 알고리즘이 아니라 암호화 해시입니다. 즉, 데이터 청크의 무결성을 확인하는 데 사용할 수 있지만 해싱을 되돌릴 수는 없습니다. 또한 md5는 손상된 것으로 간주되므로 보안 관련 용도로 사용해서는 안됩니다 (다운로드 한 파일의 무결성을 확인하는 것이 좋습니다).