首页 编程 软件学院 查看内容

iOS-AES加解密

2015-3-25 11:45 845 0

摘要:   有时候项目可能要用到加解密,以此来保护用户数据的安全性。下面我就来介绍AES的加解密。闲话不多说,直接上代码。 [objc] view plaincopy//  /...
关键词: nbsp content string encryption KEY NSString stringWithFormat self 加密 decrypt

  有时候项目可能要用到加解密,以此来保护用户数据的安全性。下面我就来介绍AES的加解密。闲话不多说,直接上代码。 [objc] view plaincopy//  //  ViewController.m  //  test  //  //  Created by yons on 14-8-7.  //  Copyright (c) 2014年 yons. All rights reserved.  //    #import "ViewController.h"  #import "TableViewController.h"  #import "SecurityUtil.h"  #import "GTMBase64.h"    #define KEY @"ABCDEFGHIJKLMNOP" //key可修改    @interface ViewController ()  {      UIButton *encryption;      UIButton *decrypt;      UITextField *content;            UILabel *Before;      UILabel *after;      UILabel *key;  }    @end        @implementation ViewController    - (void)viewDidLoad  {      [super viewDidLoad];      // Do any additional setup after loading the view, typically from a nib.            self.view.backgroundColor = [UIColor whiteColor];            content = [[UITextField alloc] initWithFrame:CGRectMake(20, 60, 280, 40)];      content.backgroundColor = [UIColor whiteColor];      [self setBorder:content.layer];      content.placeholder = @" 请输入加密或解密的字符串";           [self.view addSubview:content];             encryption = [[UIButton alloc] initWithFrame:CGRectMake(60, 125,80, 40)];      [encryption setTitle:@"加密" forState:UIControlStateNormal] ;      encryption.backgroundColor = [UIColor blackColor];      [encryption addTarget:self action:@selector(Encryption) forControlEvents:UIControlEventTouchUpInside];      [self.view addSubview:encryption];             decrypt = [[UIButton alloc] initWithFrame:CGRectMake(175, 125,80, 40)];      [decrypt setTitle:@"解密" forState:UIControlStateNormal] ;       decrypt.backgroundColor = [UIColor blackColor];      [decrypt addTarget:self action:@selector(Decrypt) forControlEvents:UIControlEventTouchUpInside];      [self.view addSubview:decrypt];            key = [[UILabel alloc] initWithFrame:CGRectMake(20, 190, 290, 20)];      Before = [[UILabel alloc] initWithFrame:CGRectMake(20, 220, 290, 40)];      Before.lineBreakMode = YES;      Before.numberOfLines = 0;           after = [[UILabel alloc] initWithFrame:CGRectMake(20, 270, 280, 40)];      after.lineBreakMode = YES;      after.numberOfLines = 0;            [key setFont:[UIFont fontWithName:@"Arial" size:14]];      [Before setFont:[UIFont fontWithName:@"Arial" size:14]];      [after setFont:[UIFont fontWithName:@"Arial" size:14]];            [self.view addSubview:key];      [self.view addSubview:Before];      [self.view addSubview:after];  }    // 加边框  - (void) setBorder: (CALayer*) layer  {      [layer setMasksToBounds:YES];      [layer setCornerRadius:5.0]; //设置矩圆角半径      [layer setBorderWidth:0.7];   //边框宽度      [layer setBorderColor:[[UIColor lightGrayColor] CGColor]];  }    //加密  - (void) Encryption  {      if ([content.text isEqualToString:@""])      {          UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"温馨提示!" message:@"亲,你还没有输入任何内容!" delegate:self cancelButtonTitle:@"确 定" otherButtonTitles:nil, nil nil];          [alert show];      }      else      {          NSString *string = [SecurityUtil encryptAESData:content.text app_key:KEY];          key.text = [NSString stringWithFormat:@"加密key:%@",KEY];          Before.text = [NSString stringWithFormat:@"加密前:%@",content.text];          after.text = [NSString stringWithFormat:@"加密后:%@",string];                    NSLog(@"string:%@", string);      }       }    //解密  - (void) Decrypt  {      if ([content.text isEqualToString:@""])      {          UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"温馨提示!" message:@"亲,你还没有输入任何内容!" delegate:self cancelButtonTitle:@"确 定" otherButtonTitles:nil, nil nil];          [alert show];      }      else      {          NSData *EncryptData = [GTMBase64 decodeString:content.text]; //解密前进行GTMBase64编码          NSString * string = [SecurityUtil decryptAESData:EncryptData app_key:KEY];                    key.text = [NSString stringWithFormat:@"解密key:%@",KEY];          Before.text = [NSString stringWithFormat:@"解密前:%@",content.text];                    if ([string isEqualToString:@""] | [string isEqualToString:nil]) {              string = @"解密失败,亲,请输入加密后的字符串!";          }          after.text = [NSString stringWithFormat:@"解密后:%@",string];                    NSLog(@"string:%@", string);      }  }      - (void)didReceiveMemoryWarning  {      [super didReceiveMemoryWarning];      // Dispose of any resources that can be recreated.  }    @end   最后附上Demo的下载地址:AES加解密Demo(点击下载)
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部