iOS 常见的加密形式: AES加密, DES加密, MD5加密,SHA1加密, BASE64加密
2016-02-26 16:42
573 查看
突然想到加密的问题, 就搜罗了一下iOS中常见的加密方法, 比较简单的加密方式主要就这几种了AES加密, DES加密, MD5加密,SHA1加密, BASE64加密
AES加密
[code]//AES加密 #import "AESCrypt.h"
[code]#pragma mark - AES加密 //加密 - (void)encrypt{ //需要加密的内容 NSString *password = @"所需要加密的内容"; encryptData = [AESCrypt encrypt:password password:kCryptStr]; NSLog(@"加密后:%@",encryptData); } //解密 - (void)decrypt{ NSString *descryptData = [AESCrypt decrypt:encryptData password:kCryptStr]; NSLog(@"解密后:%@",descryptData); }
DES加密
DES加密基本与AES是一样的,就不说了.MD5加密
[code]//MD5加密 SHA1加密 #import <CommonCrypto/CommonCrypto.h>
[code]#pragma mark - MD5加密 /** * MD5加密 * * @param input 加密前的字符串 * * @return 加密后的字符串 */ + (NSString *)MD5HexDigest:(NSString *)input{ const char *cstr = [input UTF8String]; unsigned char digest[CC_MD5_DIGEST_LENGTH]; CC_MD5(cstr, (CC_LONG)strlen(cstr), digest); NSMutableString *output = [NSMutableString string]; for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { [output appendFormat:@"%02X", digest[i]]; } return [output lowercaseString]; }
SHA1加密
[code]//MD5加密 SHA1加密 #import <CommonCrypto/CommonCrypto.h>
[code] #pragma mark - SHA1加密 /** * SHA1加密 * * @param input 加密前的字符串 * * @return 加密后的字符串 */ + (NSString *)SHA1Digest:(NSString *)input{ const char *cstr = [input UTF8String]; uint8_t digest[CC_SHA1_DIGEST_LENGTH]; CC_SHA1(cstr, (CC_LONG)strlen(cstr), digest); NSMutableString *output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH *2]; for (int i = 0; i<CC_SHA1_DIGEST_LENGTH; i++) { [output appendFormat:@"%02x",digest[i]]; } return output; }
BASE64加密
[code]//BASE64加密 #import "GTMBase64.h"
[code]#pragma mark - BASE64加密 /** * BASE64加密 * * @param input 加密前的字符串 * * @return 加密后的字符串 */ + (NSString*)encodeBase64String:(NSString * )input { NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; data = [GTMBase64 encodeData:data]; NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return base64String; } //BASE64解密 + (NSString *)decodeBase64String:(NSString *)input{ NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; data = [GTMBase64 decodeString:input]; NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return string; }
最后附上Github地址: https://github.com/fish-yan/Security/tree/master
相关文章推荐
- ios 资源很全面转载以后方便看
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- 判断字符串是否中文 & 判断是否正确身份证号
- iOS开发笔记--敏捷开发之Scrum扫盲篇
- iOS Block 的理解与学习
- iOS 蓝牙打印小票机
- iOS多线程编程总结
- iOS实战-自定义的横向滚动控件CustomScrollView
- Win8.1+Ubuntu双系统(BIOS+MBR)
- 深入浅出iOS函数式编程与响应式编程概念
- iOS推送之远程推送
- 深入理解IOS的RunLoop
- IOS学习 info.plist属性列表讲解(IOS)
- iOS 图标上的数字
- iOS实现侧拉栏抽屉效果
- iOS 学习资源
- iOS难理解的几个屏幕接触问题
- Nagios的安装配置与应用之四Nagios性能分析图表的实现
- ios学习笔记:控制器的切换
- iOS应用里面包含虚拟商品,支付必须使用苹果内购方式