Как получить ключ, используемый для алгоритма MD5 в iPhone / iPad - PullRequest
0 голосов
/ 31 мая 2011

Я использую алгоритм MD5 для синхронизации с сервером, на который я хочу отправить данные, используя алгоритм MD5. Я написал следующий код -

NSString *string =  @"ABC";
    unsigned char *inStrg = (unsigned char*)[[string dataUsingEncoding:NSASCIIStringEncoding] bytes];
    unsigned long lngth = [string length];
    unsigned char result[MD5_DIGEST_LENGTH];
    NSMutableString *outStrg = [NSMutableString string];

    MD5(inStrg, lngth, result);

    unsigned int i;
    for (i = 0; i < MD5_DIGEST_LENGTH; i++)
    {
        [outStrg appendFormat:@"%02x", result[i]];
    }
    md5TextField.text = outStrg;

Для расшифровки на стороне сервера мне нужен ключ, через который был сгенерирован текст MD5. Каким будет его ключ? Заранее спасибо ...

Ответы [ 2 ]

1 голос
/ 31 мая 2011

Как уже упоминалось, вы не можете получить исходное значение из хеша.Вряд ли вы будете хранить какие-либо значения на сервере в их первоначальном виде.Сохраните хеш и сравните его с хешем, который вы генерируете в приложении для аутентификации.Поскольку MD5 не зависит от системы, вам не нужно беспокоиться о «ключе», поскольку вы не передаете его в качестве аргумента.Если в случае, если вы сохраняете исходные значения на сервере, вы можете вычислить MD5 строки на сервере и затем сравнить.

1 голос
/ 31 мая 2011

MD5 - это функция хеширования, которая необратима (и поэтому разработана так, чтобы быть необратимой).Если вам нужно простое шифрование, вам следует использовать симметричное шифрование с использованием AES.

Проверка Шифрование AES для строки NSS на iPhone для получения дополнительной информации.

...