N & X

2014-07-19 4 views
0

에서 두 문자열을 함께 병합 나는 현재 내가 함께 여기 N & X

N

에서 각 문자열의 값을 병합하는 방법을 알아 내려고 노력하고 Stringgs 및 정수의 혼합물을 가지고있다/intergers 내가있어 :

EncryptedString : npQvFBdZQ4jD6bhAgekjPQ의 ==

IV : 그쪽] OVA ×, 娽kÜVü

해시 : 7

,369을

그래서 병합되면 문자열 길이는 41 자입니다. 의

7nÞpáq] vÕFVBâd Z, qå4¨j½Dk6ÜbVhüAgekjPQ의 == ×

따라서, 해시 배열의 시작 부분에, peices :

예상 결과의 라인을 따라 뭔가 될 것 EncryptedString은 매 반복 (2,4,6,8)입니다. IV가 모든 홀수 발생에 있습니다 (1을 제외하고 [3,5,7,9]). IV가 끝날 때까지 EncryptedString의 나머지 부분이 문자열의 끝에 추가됩니다.

이 논리 마음 나사 내가 그래서, 간단

그런 일을 수행하는 방법에 대한 반복에 난처한 해요 : 심지어

되는

N을 N에서 문자열을 함께 병합 X.에게

X 이상 함 (첫 번째 제외)

답변

0

나는이 결과를 내놓았다. 정확히는 가장 우아하지는 않지만 매력처럼 작동합니다.

function String_Merge($Array){ 

    $Encrypted_String = $Array['EncryptedString']; 
    $IV = $Array['IV']; 
    $Hash = $Array['Hash']; 
    $EncStr_Arr = str_split($Encrypted_String); 

    $Count = strlen($IV); 
    $Increment = 0; 
    $String = ""; 
    $String .= $Hash; 
    While ($Increment < $Count){ 
     $String .= $IV[$Increment]; 
     $String .= $Encrypted_String[$Increment]; 
     unset($EncStr_Arr[$Increment]); 
     $Increment++; 
    } 
    $Encrypted_String = implode("",$EncStr_Arr); 
    return $String.$Encrypted_String; 

} 
관련 문제