美文网首页iOS开发
iOS - 常用的加密方法

iOS - 常用的加密方法

作者: Gold_xiaohui | 来源:发表于2017-11-24 18:35 被阅读0次

加密函数

注意要包含

#import <CommonCrypto/CommonDigest.h>
//哈希加密
+ (NSString *)Base_HmacSha1:(NSString *)key data:(NSString *)data;
+ (NSString *)sha1:(NSString *)inputString;

//md5加密方法
+ (NSString *)md5:(NSString *)input;

具体代码

1.哈希加密

//hmac加密
+ (NSString *)Base_HmacSha1:(NSString *)key data:(NSString *)data{
    const char *cKey  = [key cStringUsingEncoding:NSASCIIStringEncoding];
    const char *cData = [data cStringUsingEncoding:NSASCIIStringEncoding];
    unsigned char cHMAC[CC_SHA1_DIGEST_LENGTH];
    CCHmac(kCCHmacAlgSHA1, cKey, strlen(cKey), cData, strlen(cData), cHMAC);
    NSData *HMAC = [[NSData alloc] initWithBytes:cHMAC  length:sizeof(cHMAC)];
    
    //将加密结果进行一次BASE64编码。
    NSString *hash = [HMAC base64EncodedStringWithOptions:0];
    return hash;
}

//哈希
+ (NSString *)sha1:(NSString *)inputString{
    NSData *data = [inputString dataUsingEncoding:NSUTF8StringEncoding];
    uint8_t digest[CC_SHA1_DIGEST_LENGTH];
    CC_SHA1(data.bytes,(unsigned int)data.length,digest);
    NSMutableString *outputString = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH];
    
    for (int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) {
        [outputString appendFormat:@"%02x",digest[i]];
    }
    return [outputString lowercaseString];
}

2.md5

+ (NSString *)md5:(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 stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
    for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
        [output appendFormat:@"%02x", digest[i]];//注意这里的x绝对不能大写成X。。。
    return  output;
}

相关文章

  • iOS代码加密常用加密方式

    iOS代码加密常用加密方式,常见的iOS代码加密常用加密方式算法包括MD5加密、AES加密、BASE64加密,三大...

  • iOS常用加密方式

    iOS代码加密常用加密方式,常见的iOS代码加密常用加密方式算法包括MD5加密、AES加密、BASE64加密,三大...

  • iOS几种加密方式

    iOS 几种加密方法2017-06-19 [iOS开发] iOS常见的几种加密方法 普通加密方法是讲密码进行加密后...

  • iOS - 常用的加密方法

    加密函数 注意要包含 具体代码 1.哈希加密 2.md5

  • iOS-15 加密

    1iOS 常用加密方式讲解 - 简书 2iOS加密方式(RSA签名、加密、AES) - 简书

  • 常用的加密方式

    常用的加密方法: MD5加密 AES加密 BASE64加密 常用加密的地方: 1)本地数据加密 对NSUserDe...

  • ios中常用的加密方法

    1、AES加密 导入NSData+AES.h文件下载链接 这里AES在iOS加过密以后以nsdata的形式存下来,...

  • 常用加密算法探寻

    原文地址在开发过程中,常常用到各种加密方法和算法,本文总结了几种常用加密方法的原理。 对称加密 原理: 加密和解密...

  • 区块链100讲:盘点那些常用的加密算法原理

    在开发过程中,常常用到各种加密方法和算法,本文总结了几种常用加密方法的原理。 1 对称加密 原理:加密和解密数据使...

  • iOS 关于加密

    常见的iOS代码加密常用加密方式包括Base64加密、MD5加密、AES加密、RSA加密等。 Base64加密 B...

网友评论

    本文标题:iOS - 常用的加密方法

    本文链接:https://www.haomeiwen.com/subject/quhfbxtx.html