ios 数据加密
来源:互联网 发布:java向多人发邮件 编辑:程序博客网 时间:2024/05/21 17:26
在ios api中已经封装好了MD5算法。
一下上代码
#import "NSObject+md5Encrypt.h"
#import "CommonCrypto/CommonDigest.h"
@implementation NSObject (md5Encrypt)
+(NSString *)getMd5_32Bit_String:(NSString *)srcString
{
const char *cStr = [srcString UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(cStr, (CC_LONG)strlen(cStr), result);
NSMutableString *hash = [NSMutableString string];
for (int i = 0; i < 16; i++) {
[hash appendFormat:@"%02x", result[i]];
}
return hash;
}
@end
这个相对来说比较简单,可在www.cmd5.com上破解。在代码中不能实现解密。
apple还提供了RSA、DES、AES等加密算法,见到国外的网站关于AES加密的算法。
//sha1加密方式
- (NSString *)getSha1String:(NSString *)srcString{
const char *cstr = [srcString cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSData dataWithBytes:cstr length:srcString.length];
uint8_t digest[CC_SHA1_DIGEST_LENGTH];
CC_SHA1(data.bytes,(CC_LONG) data.length, digest);
NSMutableString* result = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) {
[result appendFormat:@"%02x", digest[i]];
}
return result;
}
//sha256加密方式
- (NSString *)getSha256String:(NSString *)srcString {
const char *cstr = [srcString cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSData dataWithBytes:cstr length:srcString.length];
uint8_t digest[CC_SHA256_DIGEST_LENGTH];
CC_SHA1(data.bytes, (CC_LONG)data.length, digest);
NSMutableString* result = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_SHA256_DIGEST_LENGTH; i++) {
[result appendFormat:@"%02x", digest[i]];
}
return result;
}
//sha384加密方式
- (NSString *)getSha384String:(NSString *)srcString {
const char *cstr = [srcString cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSData dataWithBytes:cstr length:srcString.length];
uint8_t digest[CC_SHA384_DIGEST_LENGTH];
CC_SHA1(data.bytes, (CC_LONG)data.length, digest);
NSMutableString* result = [NSMutableString stringWithCapacity:CC_SHA384_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_SHA384_DIGEST_LENGTH; i++) {
[result appendFormat:@"%02x", digest[i]];
}
return result;
}
//sha512加密方式
- (NSString*) getSha512String:(NSString*)srcString {
const char *cstr = [srcString cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSData dataWithBytes:cstr length:srcString.length];
uint8_t digest[CC_SHA512_DIGEST_LENGTH];
CC_SHA512(data.bytes, (CC_LONG)data.length, digest);
NSMutableString* result = [NSMutableString stringWithCapacity:CC_SHA512_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_SHA512_DIGEST_LENGTH; i++)
[result appendFormat:@"%02x", digest[i]];
return result;
}
这里是代码 http://download.csdn.net/detail/w824585608/9066899
- iOS 数据加密MD5
- ios 数据加密
- iOS之数据加密
- iOS数据加密
- IOS加密api数据接口
- ios- POST数据加密-安全
- iOS数据安全-md5加密
- iOS学习之数据加密
- ios源码推荐:AES轻松加密数据
- [ios] 数据持久化(加密等)
- 【iOS】MD5加密与网络数据安全
- IOS数据加密保存的方法
- ios客户端请求数据加密方式
- iOS开发 - 网络数据安全加密(MD5)
- iOS开发 - 网络数据安全加密(MD5)
- iOS 客户端与 C#服务端数据加密
- 【iOS】MD5加密与网络数据安全
- iOS - 网络数据安全加密(MD5)
- 全屏滑动,截取滑动手势
- JS继承
- 保利威视后台编辑FLASH播放器
- JVM java虚拟机的学习(一)
- Java时间工具类DateUtils(把日期时间转换成xx秒前、xx分钟前、xx小时前...)
- ios 数据加密
- 基于C++11 thread 实现线程池
- 同行评审
- ModelMap和ModelAndView的作用
- 开源库及完整App备忘录
- MongoDB学习1_千万别用MongoDB?真的吗?
- 关于数据结构中单链表一些操作
- java基本I/O系列--ObjectInputStream 和 ObjectOutputStream 介绍
- RecyclerView