title: Decrypt encrypted string in iOS using MD5 algorithm
body: <p>Basically I want to <strong>encrypt and decrypt</strong> password in <code>iOS</code>.</p>
  
  <p>So far I have used following method to encrypt password</p>
  
  <pre><code>- (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 &lt; CC_MD5_DIGEST_LENGTH; count++){
          [outputString appendFormat:@"%02x",outputBuffer[count]];
      }
  
      return [outputString autorelease];
  }
  </code></pre>
  
  <p>This is using <code>MD5</code> hash to encrypt string.</p>
  
  <p><strong>Question:</strong></p>
  
  <ol>
  <li>As I read somewhere it is not possible to decrypt <code>MD5</code> hash. Is this really true  ? If no then can you please guide me on decryption using <code>MD5</code>.</li>
  <li>If first one is not possible then are there any other alternatives to both encrypt and decrypt <code>NSString</code> in <code>iOS</code>.</li>
  </ol>
  
  <p>I really welcome your suggestions on this please. </p>