基本上我想在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
哈希来加密字符串。
问题:
MD5
哈希。这是真的吗?如果没有,那么请指导我使用MD5
进行解密。NSString
中加密和解密iOS
是否还有其他选择。我非常欢迎您提出这方面的建议。
答案 0 :(得分:6)
是的,这是真的。 MD5是单向散列函数。您可以比较两个MD5哈希字符串,以检查原始普通输入是否相等。
查看NSString讨论的{AES}加密here。
答案 1 :(得分:3)
MD5不是加密算法,它是一个哈希函数。除非你设法暴力破解它,否则无法从哈希中恢复原始数据。
请看看OpenSSL。
答案 2 :(得分:3)
MD5是加密哈希函数。您无法解密生成的哈希值。