2

基本上我想加密和解密密码iOS

到目前为止,我已经使用以下方法来加密密码

- (NSString *) stringFromMD5{

    if(self == nil || [self length] == 0)
        return nil;

    const char *value = [self UTF8String];

    unsigned char outputBuffer[CC_MD5_DIGEST_LENGTH];
    CC_MD5(value, strlen(value), outputBuffer);

    NSMutableString *outputString = [[NSMutableString alloc] initWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
    for(NSInteger count = 0; count < CC_MD5_DIGEST_LENGTH; count++){
        [outputString appendFormat:@"%02x",outputBuffer[count]];
    }

    return [outputString autorelease];
}

这是使用MD5哈希来加密字符串。

问题:

  1. 当我在某处阅读时,无法解密MD5哈希。这是真的吗?如果没有,请指导我使用MD5.
  2. 如果第一个是不可能的,那么NSStringiOS.

我真的很欢迎您对此提出建议。

4

3 回答 3

6
  1. Yes, it is true. MD5 is a one-way hash function. You can compare two MD5-hashed strings to check if the original plain inputs were equal.

  2. Take a look at the AES encryption for NSString discussion here.

于 2013-04-12T07:08:22.237 回答
3

MD5 不是加密算法,它是一个散列函数。除非您设法暴力破解它,否则无法从哈希中取回原始数据。

看看 OpenSSL。

于 2013-04-12T06:59:15.750 回答
3

MD5 是一种加密散列函数。您无法解密生成的哈希。

于 2013-04-12T06:59:30.003 回答