md5 예제 c 소스
본 포스트는 데이터 무결성 검사에 많이 사용되는 md5 예제 c 소스를 싣고 있다. md5 128bits 암호화 hash함수로, rfc1321( https://www.ietf.org/rfc/rfc1321 )로 지정되어 있다. 암호화 함수이지만, md5의 암호화에 결함이 발견되어 사용되지 않는다고 한다. (위키백과 https://ko.wikipedia.org/wiki/MD5 참조) 아래의 md5 c 소스 코드는 위키백과의 md5 문서와 rfc1321을 참조해 구현하였다. rfc1321의 소스 코드와는 다른 코드이다. API int md5_reset( md5_t * ctx ); - md5 데이터 구조체를 초기화하는 함수, 최초 이 함수를 호출해야 한다. int md5_update( md5_t * ctx , char * msg , int msg_len ); - msg 데이터를 512bits단위로 잘라 hash를 업데이트 한다. 큰 데이터를 여러 번 나눠 호출해도 되도록 처리했다. int md5_getdigest( md5_t * ctx , unsigned char digest [16]); - 처리 안된 나머지 데이터를 512bits가 되도록 아래 형태를 만들어 md5 hash 코드 업데이트한 후, hash 코드를 digest 변수에 넣어 반환한다. "버퍼에 남은 데이터 + 0x80 + padding + 데이터 bits 사이즈(64bits 크기로) " md5 c 소스 코드 /*======================================================= INCLUDE ================================================...