2011-04-11 4 views
1

저는 base64로 변환하는 암호화 된 데이터가 있습니다. 그 문자열을 암호 해독에 사용할 수있는 NSData로 변환하는 데 문제가 있습니다.NSData + Base64.h를 사용하는 인코딩/디코딩

NSData *encryptedData = [self encrypt:_secretData key:[self md5data:_key] padding:&padding]; 
//I've tried this with different data too 
NSString *cyphertext = [encryptedData base64EncodingWithLineLength:0]; 
//this works fine 
[cyphertext dataUsingEncoding:NSUTF8StringEncoding]; 
//this returns too many bytes ... it's longer than my original data 

나는 데이브 위너에 의해 표준 "을 NSData + Base64.h"를 사용하고 - 나는 github에 그것을 발견했다.

문자열을 동일한 NSData 객체로 다시 변환하는 방법에 대한 팁은 무엇입니까?

답변

3

아마도 그 대응 물을 사용하고 있을까요? base64로 필수로 전환하는 것은 4의 배수를 가져 오는

+ (NSData *) dataWithBase64EncodedString:(NSString *) string 

주 ...

+0

난 아직도 내 원래 내가 baseEncodingWithLineLength에 전달을 NSData 인코딩보다 더 큰 방법 인을 NSData 값을 얻고있다 :. NSLog 문을 넣고 NSData 개체를 명확하게 다른 값이 있습니다. – Cyrus

+0

처음 알지는 못했지만'base64EncodingWithLineLength : 0'은 가증스러운 것처럼 보입니다 ... –

+0

4의 배수로 무엇을 의미합니까? 죄송합니다. 저는이 일에 정말로 새로운 사람입니다. – Cyrus