您的位置:首页 > 编程语言 > Java开发

OC与JAVA通用的AES加密解密

2014-09-22 22:27 801 查看
最近项目中用到AES加密,但在网上找了很多的库都是OC与JAVA加密后不能项目解密,因为我们的服务器是用java写的,所以不能通用对于做iOS的就是个大麻烦,Android就比较悠哉用java写所以没什么事。不过,在把度娘全身搜遍后,还是让我找到了这个库,出处记不清了,之前找了好多好多的库。下面记录下使用方法。

例子:http://pan.baidu.com/s/1dDktRPn

OC调用方法:

//
//  ViewController.m
//  AESTest
//
//  Created by 杜甲 on 14-9-22.
//  Copyright (c) 2014年 杜甲. All rights reserved.
//

#import "ViewController.h"
#include "NSData+AES256.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

NSString* message = @"神奇的AES";

NSString* str = [NSData AES256EncryptWithPlainText:message];
NSString* res = [NSData AES256DecryptWithCiphertext:str];
NSLog(@"%@",str);
NSLog(@"%@",res);

}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end


java调用方法:

package com.test.aesforandroid;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AES mAes = new AES();

String mString = "神奇的AES";
byte[] mBytes = null;

try {
mBytes = mString.getBytes("UTF8");

} catch (Exception e) {
// TODO: handle exception
}
String enString = mAes.encrypt(mBytes);
Log.i("aes123", enString);
String deString = mAes.decrypt(enString);
Log.i("aes123", deString);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

原文地址:http://blog.csdn.net/qqmcy/article/details/39483075

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android java aes ios 通用