Добавление MD5 в UITextField - PullRequest
       5

Добавление MD5 в UITextField

0 голосов
/ 01 сентября 2011

Извините, если это глупый вопрос, но с трудом заставить его работать !!

Я искал hi и low, и кажется, что приведенный ниже код сгенерирует хэш md5, но я не уверен, как получить мои 2 текстовых поля пароля, чтобы использовать их для генерации для отправки на сервер.Пожалуйста, сообщите, я был бы очень благодарен.

Майк

#import <CommonCrypto/CommonDigest.h>

- (NSString *)stringWithMD5Hash:(NSString *)inStr {
const char *cStr = [inStr UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr, strlen(cStr), result );
return [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
    result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7],
    result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15] ];

}

Ответы [ 3 ]

3 голосов
/ 01 сентября 2011

Звоните [self stringWithMD5Hash:yourTextField.text].Возможно, вы захотите понизить значение возврата функции, поскольку большинство языков на стороне сервера генерируют хэши MD5 со строчными символами.

1 голос
/ 01 сентября 2011

Довольно просто Предполагая, что метод находится в том же классе, что и ваше текстовое поле, просто сделайте это:

NSString *md5 = [self stringWithMD5Hash:textField.text]; 
0 голосов
/ 01 сентября 2011

Вы должны поместить этот код в Category (см. документацию Apple ), который добавляет его в класс NSString.Вы можете добавить его как класс

+ (NSString *)stringWithMD5Hash:(NSString *)inStr {
  const char *cStr = [inStr UTF8String];
  unsigned char result[CC_MD5_DIGEST_LENGTH];
  CC_MD5( cStr, strlen(cStr), result );
  return [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
      result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7],
      result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15] ];
}

или как метод экземпляра

- (NSString *)MD5Hash {
  const char *cStr = [self UTF8String];
  unsigned char result[CC_MD5_DIGEST_LENGTH];
  CC_MD5( cStr, strlen(cStr), result );
  return [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
      result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7],
      result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15] ];
}

Затем вы можете вызвать его так же, как sudo rm -rf сказал:

NSString *md5 = [NSString stringWithMD5Hash:textField.text];

или

NSString *md5 = [textField.text MD5Hash];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...