2011-03-21 110 views
2

我想知道如何解密一些使用AES256和PKCS7Padding與PHP函數在iPhone上加密的文本。如何在PHP中解密iPhone加密的AES256文本

我使用下面的Objective-C代碼。

https://gist.github.com/838614

- (NSString *)AES256EncryptWithKey:(NSString *)key 
{ 
    NSData *plainData = [self dataUsingEncoding:NSUTF8StringEncoding]; 
    NSData *encryptedData = [plainData AES256EncryptWithKey:key]; 

    NSString *encryptedString = [encryptedData base64Encoding]; 

    return encryptedString; 
} 

回答

2

下面的PHP代碼片段涵蓋removing PKCS7 padding,與this SO question(但你的情況代MCRYPT_RIJNDAEL_128MCRYPT_RIJNDAEL_256)合併應該給你你需要什麼。

+0

只是一個小問題,在iOS代碼中,我們並沒有真正的$ iv類型的值。它的真正含義是什麼..還有關於塊大小參數unpad ..非常感謝您的幫助.. – 2011-03-21 12:59:42

+0

在這種情況下,IV是CCCrypt的第6個參數(第48行)。更多關於維基百科的IVs(http://en.wikipedia.org/wiki/Initialization_vector)。塊大小似乎是kCCBlockSizeAES128。 – jnic 2011-03-21 16:22:09