2008. 2. 21. 21:04
MD5
|
여기서는 특정한 문자열 1 (string1) 을 가지고 똑같은 md5 해시값을 가리키는 문자열 2 (string2) 를
알아낼 수 있다는 것을 증명한 것입니다.
MD5 중복값 예제:
> 예제 1:
첫번째 해시: 2ba3be5aa541006b62370111282d19f5
두번째 해시: 2ba3be5aa541006b62370111282d19f5
첫번째 문장: pmTquIkEwqxIQ0EOCmNCVBZgbIFELdaNQARYPrj7f4lVrTQGCfSzAoPkiIMlcUFaCFEl6PfNyZ/
ZHb3ygDc8W5eevbQOKm4XpiNXJNHfQbRGc/mW8WJK3RApMWfQCbGPdad/eTDZXOsC6K26
eshVXO10yt1fyZNtsZtK2DXMZ+M=
두번째 문장: pmTquIkEwqxIQ0EOCmNCVBZgbAFELdaNQARYPrj7f4lVrTQGCfSzAoPkiIMl8UFaCFEl6PfNyZ/
ZHb1ygDc8W5eevbQOKm4XpiNXJNHfQbRGc/kW8WJK3RApMWfQCbGPdad/eTDZXOsC6K26
ekhVXO10yt1fyZNtsZtKWDXMZ+M=
if (문장1==문장2): false
- 원래 문자열은 바이너리로, 위의 문자열은 base64로 인코드 되어 있습니다.
디코드 하신후 테스트 하시기 바랍니다.
<Test by Python>
>>> import base64
>>> import md5
>>> string1 = base64.b64decode("pmTquIkEwqxIQ0EOCmNCVBZgbIFELdaNQARYPrj7f4lVrTQGCfSzAoPkiIMlcUFaCFEl6PfNyZ
/ZHb3ygDc8W5eevbQOKm4XpiNXJNHfQbRGc/mW8WJK3RApMWfQCbGPdad/eTDZXOsC6K26
eshVXO10yt1fyZNtsZtK2DXMZ+M=")
>>> string2 = base64.b64decode("pmTquIkEwqxIQ0EOCmNCVBZgbAFELdaNQARYPrj7f4lVrTQGCfSzAoPkiIMl8UFaCFEl6PfNyZ
/ZHb1ygDc8W5eevbQOKm4XpiNXJNHfQbRGc/kW8WJK3RApMWfQCbGPdad/eTDZXOsC6K26
ekhVXO10yt1fyZNtsZtKWDXMZ+M=")
>>> print md5.new(string1).hexdigest()
2ba3be5aa541006b62370111282d19f5
>>> print md5.new(string2).hexdigest()
2ba3be5aa541006b62370111282d19f5
>>> string1 == string2
False