ios SHA256加密
2016-01-18 16:21
597 查看
- (NSData*) sha256:(NSString *)stringpass
{
NSData *data = [self
hexStrToNSData:stringpass];
uint8_t digest[CC_SHA256_DIGEST_LENGTH];
CC_SHA256(data.bytes,data.length, digest);
NSData *strForHas=[[NSData
alloc]initWithBytes:digest
length:CC_SHA256_DIGEST_LENGTH];
return strForHas;
}
//十六進位字串轉bytes
-(NSData *) hexStrToNSData:(NSString *)hexStr
{
NSMutableData* data = [NSMutableData
data];
int idx;
for (idx =
0; idx+2 <= hexStr.length; idx+=2) {
NSRange range =
NSMakeRange(idx, 2);
NSString* ch = [hexStr
substringWithRange:range];
NSScanner* scanner = [NSScanner
scannerWithString:ch];
unsigned
int intValue;
[scanner scanHexInt:&intValue];
[data appendBytes:&intValue
length:1];
}
return data;
}
{
NSData *data = [self
hexStrToNSData:stringpass];
uint8_t digest[CC_SHA256_DIGEST_LENGTH];
CC_SHA256(data.bytes,data.length, digest);
NSData *strForHas=[[NSData
alloc]initWithBytes:digest
length:CC_SHA256_DIGEST_LENGTH];
return strForHas;
}
//十六進位字串轉bytes
-(NSData *) hexStrToNSData:(NSString *)hexStr
{
NSMutableData* data = [NSMutableData
data];
int idx;
for (idx =
0; idx+2 <= hexStr.length; idx+=2) {
NSRange range =
NSMakeRange(idx, 2);
NSString* ch = [hexStr
substringWithRange:range];
NSScanner* scanner = [NSScanner
scannerWithString:ch];
unsigned
int intValue;
[scanner scanHexInt:&intValue];
[data appendBytes:&intValue
length:1];
}
return data;
}
相关文章推荐
- iOS pb编译器使用
- iOS 自定义日期选择器
- iOS关于导航设置的问题
- iOS开发之如何跳到系统设置里的WiFi界面
- ios 给textField每四位添加一个空格
- iOS开发--隐藏(去除)导航栏底部横线
- iOS Runtime详解之给Category添加成员变量
- iOS 一种自定义颜色的方法
- iOS x-www-form-urlencoded格式传参
- iOS 调试
- ios设备信息
- iOS CAReplicatorLayer简单笔记
- iOS截屏
- iOS空页面 DZNEmptyDataSet
- ios crash 日志分析
- iOS开发~CocoaPods使用详细说明
- IOS模拟动态图 大图和小图动态切换
- IOS-学习笔记(1)
- iOS9 提示框的使用
- IOS UserDefaults简介(一)