_N_了吧唧的_ 发表于 2015-8-30 08:56:17

使用AES在php中加密,并用objective-c解密

  从AES for iphone下载AES库
  在不同平台进行AES加密,并使用Base64进行编码,结果有可能不同,但解密之后会一样,所以不要因为在2个平台加密结果不一样而认为自己错了。。。
  

  php加密解密:
  
<?php$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);$key = 'a16byteslongkey!a16byteslongkey!';$plaintext = &quot;iphone&quot;;$ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $plaintext, MCRYPT_MODE_ECB);$base64encoded_ciphertext = base64_encode($ciphertext);echo &quot;ciphertext: &quot;.$base64encoded_ciphertext.&quot;<br/>&quot;;$plaintext = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, base64_decode($base64encoded_ciphertext), MCRYPT_MODE_ECB);echo &quot;plaintext: &quot;.$plaintext.&quot;<br/>&quot;;$base64encoded_ciphertext =&quot;I3chV+E2XUHeLCcJAhBaJQ==&quot;;$plaintext = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, base64_decode($base64encoded_ciphertext), MCRYPT_MODE_ECB);echo &quot;plaintext: &quot;.trim($plaintext);?>
iphone加密解密  #import &quot;NSString+AESCrypt.h&quot;NSString *key = @&quot;a16byteslongkey!a16byteslongkey!&quot;;NSString *plaintext = @&quot;iphone&quot;;NSString *ciphertext = ;NSLog(@&quot;ciphertext: %@&quot;, ciphertext);plaintext = ;NSLog(@&quot;plaintext: %@&quot;, plaintext);


  
  以下是一个在php中加密,然后在iphone中解密的例子
php 代码:

  
<?php$key = &quot;test_AES_key&quot;;$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);$key = md5($key);$plaintext = &quot;ksfe&quot;;$ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $plaintext, MCRYPT_MODE_ECB);$base64encoded_ciphertext = base64_encode($ciphertext);echo $base64encoded_ciphertext.&quot;<br/>&quot;;//$plaintext = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, base64_decode($base64encoded_ciphertext), MCRYPT_MODE_ECB);//echo &quot;plaintext: &quot;.$plaintext.&quot;<br/>&quot;;?>
iphone 代码:
  
  
-(NSString *)md5:(NSString *)str { const char *cStr = ; unsigned char result; CC_MD5( cStr, strlen(cStr), result ); return , result, result, result, result, result, result, result, result, result, result, result, result, result, result, result ]; }#import &quot;NSString+AESCrypt.h&quot;NSString *strKey = @&quot;test_AES_key&quot;;NSData *chipherData = ];NSString *chipherText = [ initWithData: chipherData encoding: NSUTF8StringEncoding];NSString *plainText = ];NSLog(@&quot;plainText: %@&quot;, plainText);
  
页: [1]
查看完整版本: 使用AES在php中加密,并用objective-c解密