MD5 충돌 숙제 문제를 시도하고 Python에서 원시 바이트를 쓰는 방법을 모르겠습니다. 나는 그것을 포기했지만 그 안에 ASCII가있는 .bin 파일로 끝났다. 여기에 내 코드입니다 :ASCII 바이트 파일을 실제 바이트로 이진 파일에 쓰는 방법은 무엇입니까?
fileWriteObject1 = open("md5One.bin", 'wb')
fileWriteObject2 = open("md5Two.bin", 'wb')
fileReadObject1 = open('bytes1.txt', 'r')
fileReadObject2 = open('bytes2.txt', 'r')
bytes1Contents = fileReadObject1.readlines()
bytes2Contents = fileReadObject2.readlines()
fileReadObject1.close()
fileReadObject2.close()
for bytes in bytes1Contents:
toWrite = r"\x" + bytes
fileWriteObject1.write(toWrite.strip())
for bytes in bytes2Contents:
toWrite = r"\x" + bytes
fileWriteObject2.write((toWrite.strip())
fileWriteObject1.close()
fileWriteObject2.close()
샘플 입력 : DD C5 E6 EE C4 차원 9A AF F9 5C 2 층 캘리포니아 (D1) b5
내 입력 파일에 대한 링크가 있지만 MOD가 제거한 것 같습니다. 이것은 각 행에 ASCII로 쓰여진 16 진수 바이트가있는 파일입니다.
EDIT : SOLVED! Circumflex에게 감사드립니다.
나는 각각 128 바이트의 ASCII를 가진 두 개의 서로 다른 텍스트 파일을 가지고있다. 필자는 바이너리로 변환하여 struck.pack을 사용하여 썼고 MD5 충돌이 발생했습니다.
무엇 귀하의 의견이 실제로 모습입니까? (기술적으로 "ASCII 바이트"와 같은 것은 없지만, ASCII 문자를 사용하여 임의의 바이트를 표현할 수있는 방법이 많이 있습니다. 어떤 문자를 지정해야합니다) –
입력 파일에 대한 링크가 있지만 mod 그것을 제거했다. 이것은 각 행에 ASCII로 쓰여진 16 진수 바이트가있는 파일입니다. – anon58192932
그래서 각 쌍의 문자를 1 바이트로 변환하여 파일에 기록해야합니다. 시작하려면'int ("d1", base = 16)'을 사용해보십시오. –