답변:
나는 잘 알려진 MD5 구현을 고수하고 타사 공급 업체에서 찾은 라이브러리에서 멀리 떨어져 있습니다. MD5를 설명한 원래 RFC 1321 에는 샘플 C 구현이 있습니다.
알림 : MD5의 알려진 약점이 충돌 공격하고 있습니다 하지 역상 공격 은 일부 암호화 응용 프로그램이 아닌 다른 사람에 적합합니다, 그래서. 차이점을 모르면 사용해서는 안되지만 완전히 버리지 마십시오. http://www.vpnc.org/hash.html을 참조 하십시오 .
http://en.wikipedia.org/wiki/MD5 에서 MD5 알고리즘 위키 백과에 대한 자세한 설명과 의사 코드를 찾을 수 있습니다 .
프로그래밍 질문에 더 적합하기 때문에이 질문을 stackoverflow 에 게시하는 것도 고려할 수 있습니다 .
MD5 의 wikipedia 페이지에서 :
... MD5는 충돌에 강하지 않으므로 MD5는 SSL 인증서 또는이 속성에 의존하는 디지털 서명과 같은 응용 프로그램에는 적합하지 않습니다.
같은 페이지의 SSL 연구원들로부터
또한 다른 응용 프로그램에서 MD5 사용을 다시 고려하기를 바랍니다.
나는 당신이 이것을 듣고 싶지 않다는 것을 이해하지만 실제로 MD5가 필요합니까? 너무 안전하지 않기 때문에 암호화 목적으로 사용해서는 안됩니다 (그리고 레인보우 테이블 보트가 사용 가능합니다). 데이터의 유효성을 검사 할 무언가를 찾고 있다면 계산 비용이 저렴한 CRC (code here )를 살펴보십시오 . 당신이하면 된다 , 그때로 이동 제안 할 수 있지만 암호화 목적을 위해 그것을 사용하는 SHA ? 유일한 문제는 대부분의 암호화 보안 알고리즘이 마이크로 컨트롤러에서 특히 잘 실행되지 않는다는 것입니다. MD5가 "충분히 좋은"것처럼 보이지만 공학적인 방법은주의를 기울이는 것입니다.