[Day]使用AES在php中加密,并用objective-c解密
2011-08-28 22:36
603 查看
从AES for iphone下载AES库
在不同平台进行AES加密,并使用Base64进行编码,结果有可能不同,但解密之后会一样,所以不要因为在2个平台加密结果不一样而认为自己错了。。。
php加密解密:
iphone加密解密
以下是一个在php中加密,然后在iphone中解密的例子
php 代码:
iphone 代码:
在不同平台进行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 = "iphone"; $ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $plaintext, MCRYPT_MODE_ECB); $base64encoded_ciphertext = base64_encode($ciphertext); echo "ciphertext: ".$base64encoded_ciphertext."<br/>"; $plaintext = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, base64_decode($base64encoded_ciphertext), MCRYPT_MODE_ECB); echo "plaintext: ".$plaintext."<br/>"; $base64encoded_ciphertext = "I3chV+E2XUHeLCcJAhBaJQ=="; $plaintext = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, base64_decode($base64encoded_ciphertext), MCRYPT_MODE_ECB); echo "plaintext: ".trim($plaintext); ?>
iphone加密解密
#import "NSString+AESCrypt.h" NSString *key = @"a16byteslongkey!a16byteslongkey!"; NSString *plaintext = @"iphone"; NSString *ciphertext = [plaintext AES256EncryptWithKey: key]; NSLog(@"ciphertext: %@", ciphertext); plaintext = [ciphertext AES256DecryptWithKey: key]; NSLog(@"plaintext: %@", plaintext);
以下是一个在php中加密,然后在iphone中解密的例子
php 代码:
<?php $key = "test_AES_key"; $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $key = md5($key); $plaintext = "ksfe"; $ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $plaintext, MCRYPT_MODE_ECB); $base64encoded_ciphertext = base64_encode($ciphertext); echo $base64encoded_ciphertext."<br/>"; //$plaintext = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, base64_decode($base64encoded_ciphertext), MCRYPT_MODE_ECB); //echo "plaintext: ".$plaintext."<br/>"; ?>
iphone 代码:
-(NSString *)md5:(NSString *)str { const char *cStr = [str UTF8String]; unsigned char result[32]; CC_MD5( cStr, strlen(cStr), result ); return [NSString stringWithFormat: @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7], result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15] ]; } #import "NSString+AESCrypt.h" NSString *strKey = @"test_AES_key"; NSData *chipherData = [NSData dataWithContentsOfURL: [NSURL URLWithString: @"http://192.168.157.1/index_aes.php"]]; NSString *chipherText = [[NSString alloc] initWithData: chipherData encoding: NSUTF8StringEncoding]; NSString *plainText = [chipherText AES256DecryptWithKey: [self md5: strKey]]; NSLog(@"plainText: %@", plainText);
相关文章推荐
- PHP使用mcrypt进行AES加密后的数据NodeJS等无法解密的问题修复方案
- javascript与php使用aes进行加密/解密
- C#中使用DES和AES加密解密
- PHP和.NET通用的加密解密函数类,均使用3DES加解密 .
- JS AES加密与PHP解密
- C#中使用DES和AES加密解密
- PHP和.NET通用的加密解密函数类,均使用3DES加解密
- VS中使用openssl/aes加密解密
- AES加密解密——AES在JavaWeb项目中前台JS加密,后台Java解密的使用
- 使用Dezender对zend加密后的php文件进行解密
- android、ios与服务器端php使用rsa加密解密通讯
- php使用base64加密解密图片示例分享
- php rsa加密解密使用详解
- android、ios、php之间AES加密解密
- C#中使用DES和AES加密解密
- 使用Python进行AES加密和解密
- C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现[转载]
- 常用加密解密算法【RSA、AES、DES、MD5】介绍和使用
- php中AES加密解密的例子小结
- php使用异或实现的加密解密实例