Итак, сегодняшняя тема - генерация хеша MD5 из любой строки (NSString). Информацию о MD5 можно получить здесь (по-русски) и здесь (более подробно, но по-английски). Модуль, который я вам представляю, можно сразу использовать в своём проекте (он полностью работоспособен).
md5digest.h
md5digest.m
Исходные коды распространяются под лицензией GPL v3.
Скачать: md5digest.zip
#import <openssl/md5.h> #import <Foundation/Foundation.h> /* это заголовочный файл, вставляем его с помощью директивы препроцессора #import в те файлы, где нам будет нужна функция md5digest */ NSString* md5digest(NSString *);
md5digest.m
#import "md5digest.h"
// наша функция md5digest
// на вход принимает строку NSString *inputString
// на выходе также получаем строку NSString *, содержащую хеш inputString
NSString* md5digest(NSString *inputString)
{
// создаём экземпляр NSData из нашей строки, используя кодировку UTF8
NSData *data = [inputString dataUsingEncoding:NSUTF8StringEncoding];
// вызываем функцию MD5, куда передаём содержимое созданного экземпляра NSData
unsigned char *digest = MD5([data bytes], [data length], NULL);
// и возвращаем сформированный хеш
return [NSString stringWithFormat:
@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
digest[0], digest[1],
digest[2], digest[3],
digest[4], digest[5],
digest[6], digest[7],
digest[8], digest[9],
digest[10], digest[11],
digest[12], digest[13],
digest[14], digest[15]];
}Исходные коды распространяются под лицензией GPL v3.
Скачать: md5digest.zip

Комментировать