Используя MD5 хешируют на строке в какао? [дубликат]

Вы можете использовать командлет get-pnpcontext. Например, добавить Немецкий (LCID 1031) для вашего сайта sharepoint вы можете использовать:

$Context = Get-PnPContext
$Web = $Context.Web
$Context.Load($Web)
Invoke-PnPQuery

$Web.IsMultilingual = $true
$Web.AddSupportedUILanguage(1031)
$Web.Update()
Invoke-PnPQuery
42
задан Community 23 May 2017 в 12:01
поделиться

6 ответов

Ну, прежде всего MD5 не является шифрованием. Таким образом, при поиске шифрования Вы смотрите в неправильном месте.

Но если Вы просто хотите хешировать что-то с помощью MD5 на iPhone, это должно дать Вам информацию, в которой Вы нуждаетесь:

#import <CommonCrypto/CommonDigest.h>

NSString *md5(NSString *str) {
    const char *cStr = [str 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 *digest = md5(@"test");
NSLog(@"MD5 TEST %@", digest);

(От Вычисляют MD5 на iPhone),

36
ответ дан mxcl 26 November 2019 в 23:18
поделиться

MD5 не является шифрованием, это криптографическая хеш-функция . Это - односторонняя функция, вывод которой является 128-разрядным числом. То, что это криптографическое средства, что это - в вычислительном отношении тяжелая проблема, которые, учитывая вывод хеша MD5, вычисляют строку, MD5 которой является тем значением. Так, MD5 может использоваться для проверок целостности данных, но не для шифрования.

3
ответ дан Adam Rosenfield 26 November 2019 в 23:18
поделиться

Я добавил следующее в мою категорию «NSString + MyGoonk»:

#include <openssl/md5.h>

- (NSString *)md5
{
    NSData *data = [self dataUsingEncoding: NSUTF8StringEncoding];
    unsigned char *digest = MD5([data bytes], [data length], NULL);
    return [NSString stringWithUTF8String: (char *)digest];
}

Две вещи:

  1. предполагается, что ваша строка - UTF8. Я уверен, что есть способ сделать его более общим, но я почти никогда не использую ничего другого.

  2. вы должны связать -lcrypto с вашим проектом.

6
ответ дан 26 November 2019 в 23:18
поделиться

Это то, что я использую. Кредиты переходят в Alistair Mcmillan .

#import <CommonCrypto/CommonDigest.h>


+ (NSString *) md5:(NSString *)str {
 const char *cStr = [str UTF8String];
 unsigned char result[16];
 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]
  ]; 
}

Примечание # 1: Мне не нужно было ссылаться на какие-либо библиотеки

Примечание # 2: Я не смог найти -lcrypto во внешнем рамках на iPhone, и это работает без -lcrypto

19
ответ дан 26 November 2019 в 23:18
поделиться

Потратив слишком много времени, пытаясь понять это, я написал исчерпывающий пост с правильным кодом и тем, как его использовать. Вы можете найти эту публикацию в моем блоге. http://www.saobart.com/md5-has-in-objective-c/

6
ответ дан 26 November 2019 в 23:18
поделиться

Заметил это в исходном коде Facebook Connect. Выглядит довольно солидно, попробуйте.

#import <CommonCrypto/CommonDigest.h>

...

+ (NSString*)md5HexDigest:(NSString*)input {
    const char* str = [input UTF8String];
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    CC_MD5(str, strlen(str), result);

    NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH*2];
    for(int i = 0; i<CC_MD5_DIGEST_LENGTH; i++) {
        [ret appendFormat:@"%02x",result[i]];
    }
    return ret;
}
...
67
ответ дан 26 November 2019 в 23:18
поделиться