Просто некоторые расширения для ответа @SLaks. Вам нужно расширить CSharpSyntaxRewriter
и переопределить метод VisitTrivia
. И здесь вам нужно проверить Kind
мелочей. В зависимости от ваших потребностей вы должны фильтровать одиночные и многострочные комментарии:
trivia.IsKind(SyntaxKind.SingleLineCommentTrivia) || trivia.IsKind(SyntaxKind.MultiLineCommentTrivia)
И вернуть default(SyntaxTrivia)
, чтобы удалить их из дерева.
CommonCrypto сделает это. Но если Вы хотите код, у меня есть некоторые здесь:
http://oauth.googlecode.com/svn/code/obj-c/OAuthConsumer/Crypto/
, Который я записал для использования в Какао реализации OAuth: http://code.google.com/p/oauthconsumer/wiki/UsingOAuthConsumer
CommonCrypto добивается цели.
#import <CommonCrypto/CommonHMAC.h>
тогда позже
/*
inputs:
NSData *keyData;
NSData *clearTextData
*/
uint8_t digest[CC_SHA1_DIGEST_LENGTH] = {0};
CCHmacContext hmacContext;
CCHmacInit(&hmacContext, kCCHmacAlgSHA1, keyData.bytes, keyData.length);
CCHmacUpdate(&hmacContext, clearTextData.bytes, clearTextData.length);
CCHmacFinal(&hmacContext, digest);
NSData *out = [NSData dataWithBytes:digest length:CC_SHA1_DIGEST_LENGTH];
Я думаю, что библиотека CommonCrypto сделает то, что Вы хотите. Посмотрите на этот файл:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.sdk/usr/include/CommonCrypto/CommonHMAC.h
Не для iPhone, в частности, но библиотеки libs3 обеспечивает API C для доступа к услугам Amazon S3. Это, или компонент FUSE s3fs, могут быть хорошие источники для извлечения стандартных программ, должен был общаться с веб-сервисами Amazon. Поскольку Objective C все еще C в его ядре, эти стандартные программы должны работать просто великолепно на iPhone.
я знаю по крайней мере одного разработчика, который использует что-то подобное в рамках их приложения для iPhone для общения с блоками S3.
Я не знаю, если это верно, больше, но там раньше был ограничениями на алгоритмы шифрования, и Ваше право распределить их определенным странам были ограничены.
, Если это все еще имеет место, могло бы случиться так, что Apple не хочет/может, ограничивают определенные приложения в том, чтобы быть загруженным в этих странах.
Немного гуглили и я нашел этот документ .
Экспорт SHA1 зависит от (Соединенные Штаты) Федеральное правительство экспортный контроль и экспортеры рекомендуется связаться с Департаментом Торговля, Бюро экспорта Администрация для получения дополнительной информации.
Я также нашел это:
Китайская Народная Республика и Бывший советский блок может импортировать SHA как до тех пор, пока он предназначен для гражданского приложения для конечных пользователей, а не для военного назначения. Нижеуказанное странам запрещено импорт SHA: Куба, Иран, Ирак, Ливия, Северная Корея, Сербия, Сирия и Судан. Обратите внимание, что этот список страны эмбарго меняются со временем.
(Не прямой ответ на ваш вопрос, но, безусловно, уместный.)