AESCrypt加密与解密

 

[置顶] 开源中国iOS客户端学习——(十一)AES加密

分类: 菜鸟学iOS的笔记

 

数据加密在解密在软件开发过程当中举足轻重的做用,可能有的公司在加密的时候有本身公司内部一套设计的算法,而在这方面不想浪费太大精力就能够去考虑使用第三方提供的加密算法,如AES加密算法,本篇内容介绍开源中国iOS客户端使用ASE算法加密密码;ios

 

AES   GitHub 下载地址  https://github.com/Gurpartap/AESCrypt-ObjCgit

 

对一个比较大的工程咱们可能都不知道某个类库或者方法在哪被使用,可是智能的Xcode给咱们提供了一个全局搜索的功能,咱们能够在真个工程中来搜索这个方法。 好比我不知道AES这个类库用在哪了,可是若是使用这个类库确定会引用它的头文件,咱们搜索AESCryptgithub

   

而后除了类库自己只有Config类里面包含AESCrpt.h,只有两个方法用到了,跳转到Config.m中的两个方法算法

 

[cpp]  view plain copy
  1. -(void)saveUserNameAndPwd:(NSString *)userName andPwd:(NSString *)pwd  
  2. {  
  3.     NSUserDefaults * settings = [NSUserDefaults standardUserDefaults];  
  4.     [settings removeObjectForKey:@"UserName"];  
  5.     [settings removeObjectForKey:@"Password"];  
  6.     [settings setObject:userName forKey:@"UserName"];  
  7.       
  8.     pwd = [AESCrypt encrypt:pwd password:@"pwd"];  
  9.       
  10.     [settings setObject:pwd forKey:@"Password"];  
  11.     [settings synchronize];  
  12. }  

[cpp]  view plain copy
  1. -(NSString *)getPwd  
  2. {  
  3.     NSUserDefaults * settings = [NSUserDefaults standardUserDefaults];  
  4.     NSString * temp = [settings objectForKey:@"Password"];  
  5.     return [AESCrypt decrypt:temp password:@"pwd"];  
  6. }  

从上面两个方法的方法名知道方法做用,一个是保存用户名和密码,密码使用了AES加密,另外一个是解密密码后再返回这个密码;保存用户名和密码是将用户名和密码放到了本地的一个沙盒只之中,获取的时候直接从本地读取加密后的文件,通过解密和服务器上用户数据进行比较(想了解开源中国iOS客户端用户登录处理过程,敬请关注下一篇博客 《 开源中国iOS客户端学习——(十二)用户登录》,即将推出);

 

 

正如官方给出示例用法同样,AES的使用很是简单,首先要添加头文件 #import "AESCrypt.h",使用示例数据库

 

[cpp]  view plain copy
  1. NSString *pwdKey = @"新风做浪";  
  2. NSString *password = @"duxinfeng123456";  
  3.   
  4. NSString *encryptedPWD = [AESCrypt encrypt:password password:pwdKey];  
  5. NSString *decryptedPWD = [AESCrypt decrypt:encryptedPWD password:pwdKey];  
  6.   
  7. NSLog(@"加密后密码:%@  解密后密码: %@",encryptedPWD,decryptedPWD);  

 

 

打印结果 : 加密后密码:/OtTRA5Qz5+xjHB809APLA==  解密后密码: duxinfeng123456服务器

 

加密 解密方法函数原型,传入的两个参数第一个是加密的数据,第二个是加密数据的key,解密的时候也须要这个key来解密加密后的数据;app

[cpp]  view plain copy
  1. + (NSString *)encrypt:(NSString *)message password:(NSString *)password;  
  2. + (NSString *)decrypt:(NSString *)base64EncodedString password:(NSString *)password;  


原创博客欢迎转载分享,请注明出处http://blog.csdn.net/duxinfeng2010函数

 

 

版权声明:本文为博主原创文章,未经博主容许不得转载。oop

 
7
1
相关文章
相关标签/搜索