2013-10-09 3 views
0

내가 목표 - C를 여러 번 (난 (자바) 다이제스트 메서드를 호출 할 때 출력을 변화하고 CC_SHA1 점점 할 일이 루프 내에서 다릅니다.SHA1 출력은

유의하시기 바랍니다 때 루프를 사용하지 않는 난 매칭 출력을 얻고있다.

다음은 나는 현재 채용하고있어 구현.

목표 C 니핏

NSString *haha= [NSString stringWithFormat:@"%@%@",sPassPhrase,sSaltValue]; 
NSData *abKey0 = [haha dataUsingEncoding:NSASCIIStringEncoding]; 
NSMutableData *abKey = [NSMutableData dataWithData:abKey0]; 

unsigned char digest[20]; 
for(int i=1;i<iIterations;i++) 
{ 
    CC_SHA1(abKey.bytes, abKey.length, digest); 
    abKey = [NSMutableData dataWithBytes:digest length:20]; 
} 

자바는이 날 지금 몇 시간에 대한 API 문서를 수색 가지고 있지만 내가 도움이 아무것도 찾을 수 아니에요

String haha = sPassPhrase + sSaltValue; 
byte[] abKey = haha.getBytes("US-ASCII"); 
MessageDigest oSHA1 = MessageDigest.getInstance("SHA-1"); 

for (int i = 1; i <= iIterations; i++) 
{ 
    abKey = oSHA1.digest(abKey); 
} 

스 니펫.

답변

1

하나의 명백한 차이점은 Java에서 수행하는 것보다 객관적인 C에서 한 번의 반복 작업을 덜한다는 것입니다. 루프의 두 "< = '대'< '봐.

가 흐흐 ... 그이 멋진 캐치
+0

있어 ! – ipmcc

+0

감사를 당신의 대답. 당신이 아주 잘 지적했듯이, 그것은 정확하게 사건이었다.에 – Leena

+0

@Leena : 당황하지 않아도됩니다. 우리는 여러 번 거기에 * 모든 * 있습니다. –