2009-10-10 4 views
3

5 이진 문자열 base64_encode()가 '어떻게 쌍의 XOR (^) 그들 각각은 결과에서 1bits를 셀 수 어떻게 이러한 base64 된 숫자를 XOR 할 수 있습니까? 내가 가진

wAD4Af8B/gHuA/4BzgP1A/8P/h//f/xv+z30D9IDSAE= 

AAAgCPgf/B/4H/w1+B74Gfg/+B/8P/4f/D/8HwABAAA= 

AAAAAMB/wP/A/8B/4HvAf+B/+n/3P/Y//z/4n4CDgAE= 

AAAAXcB/wH/Af8B/wHfAP+B/6H/xf+7//r/4f0CngFY= 

AAiwifAP+B/4D/gf8B74D/gd8V/4H/gP8B/8vwABAAA= 

AAAAAAAA/QD/Af4B/iP+A/wD/A/+//7/+B+AAwAAAAA= 

에드 있습니다. 그것은 간단해야하지만, 나는 PHP에서 바이너리로 작업하는 방법을 모른다.

+0

또는 누군가가 알고 있다면, 어떻게 펄 PHP에 상응에 코드 번역 : 압축을 풀고 ("N", 팩 ("B32를 ", substr ("0 "x 32. $ binary, -32))); –

답변

3

packunpack 기능은 당신이보고 싶은 것들입니다. 바이너리 문자열과의 변환을 허용합니다. 물론

당신은 또한 기본 64 디코딩 기능을 사용해야합니다 bitwise functions

+0

문제는 1과 0을 셀 수있는 형식으로 바이너리를 가져 오기 위해 사용하기 위해 언팩하는 옵션입니다. $ 결과 = $ binary1^$ binary2; $ string = unpack ([...], $ result); $ counts = count_chars ($ string); // $ counts [49]와 0의 $ counts [48] 문제는 다시 $ string 변수를 올바르게 가져 오는 방법입니다. 감사. –

관련 문제