iOS SHA1 和 Base64 url_safe 加密
网上查找的资料SHA1加密后大部分获取的是字符串,如果还要进行下一步操作时,一定要慎用字符串,我最近在做SHA1 和 Base64 url_safe 加密,用SHA1加密后的获取字符串进行Base64编码,但是得到的数值对比安卓和后台接口得到的数值都不一样,安卓和后台SHA1可以直接获取二进制流,然后进行Base64编码,iOS SHA1没法直接获取data数据,如果转换成字符串在进行Base64编码,得到的数据就不统一,这是一个很大的坑,一定要看好 Demo 地址
#import "XWSSHA1Tool.h"
#import <CommonCrypto/CommonCrypto.h>
#import "GTMBase64.h"
@implementation XWSSHA1Tool
//普通字符串加密,返回值字符串
+ (NSString *)xwsSHA1:(NSString *)input
{
const char *cstr = [input cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSData dataWithBytes:cstr length:input.length];
uint8_t digest[CC_SHA1_DIGEST_LENGTH];

该博客介绍了iOS上如何进行SHA1和Base64 url_safe加密,特别强调了SHA1加密后不应直接转换为字符串进行Base64编码,因为这可能导致与安卓或后台接口得到的加密结果不一致。文中提供了相应的Objective-C代码示例,包括普通字符串加密、汉字加密、获取NSData以及SHA1后进行Base64(url_safe)编码的方法。
最低0.47元/天 解锁文章
2568

被折叠的 条评论
为什么被折叠?



