最近项目中用到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
- 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