iOS中使用MD5加密

作者: jianshu_wl | 来源:发表于2016-04-18 22:52 被阅读7681次

在iOS中使用MD5加密较简单,需要引入头文件CommonCrypto/CommonDigest.h,我们单独新建一个用于MD5加密的类Encryption,此类继承NSObject
Encryption.h文件如下:

#import <Foundation/Foundation.h>

@interface Encryption : NSObject
//md5加密方法
+ (NSString *)md5EncryptWithString:(NSString *)string;
@end

Encryption.m文件如下:

#import "Encryption.h"
#import <CommonCrypto/CommonDigest.h>

//秘钥
static NSString *encryptionKey = @"nha735n197nxn(N′568GGS%d~~9naei';45vhhafdjkv]32rpks;lg,];:vjo(&**&^)";

@implementation Encryption

+ (NSString *)md5EncryptWithString:(NSString *)string{
    return [self md5:[NSString stringWithFormat:@"%@%@", encryptionKey, string]];
}

+ (NSString *)md5:(NSString *)string{
    const char *cStr = [string UTF8String];
    unsigned char digest[CC_MD5_DIGEST_LENGTH];
    
    CC_MD5(cStr, (CC_LONG)strlen(cStr), digest);
    
    NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
    for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
        [result appendFormat:@"%02X", digest[i]];
    }
    
    return result;
}

@end

调用Encryption.h中的加密方法进行测试,代码如下:

//调用Encryption中的加密方法
NSLog(@"-----%@", [Encryption md5EncryptWithString:@"hello"]);

调试窗口成功输出打印信息:


注意:在实际工程中,我们不会把 Encryption.m中的秘钥暴露出来,因此实际工程中需要把 Encryption类打包成静态库,只暴露 .h文件用于使用.

相关文章

  • iOS如何使用MD5加密

    在登录注册时,经常采用MD5加密技术对密码,也用于对敏感数据进行加密。本文简单介绍了iOS中MD5加密的使用方式。...

  • iOS 数据加密

    iOS 常用加密方式算法包括MD5加密、AES加密、BASE64加密 MD5加密 MD5:全称是Message D...

  • Python MD5加密详解以及多次加密的坑

    在python中可以使用hashlib这个库来使用MD5加密: 在使用MD5加密的使用要注意加密内容的编码格式: ...

  • iOS加密

    iOS代码常见的加密方式包括MD5加密、AES加密、BASE64加密,RSA加密。 MD5加密 MD5是不可逆的只...

  • IOS中的加密方式MD5、sha512

    title : IOS中的加密方式MD5、sha512category : IOS .h文件 .m文件

  • iOS 加密解密

    iOS各类加密算法详解 iOS & Java md5 加密报错@constant kCCAlignmentEr...

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

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

  • iOS常用加密方式

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

  • 项目中前后端的md5加密

    一、前端加密 1.JS中使用md5加密 2.vue框架md5加密 二、后台加密 导包1.maven中增加: 2.直...

  • 使用java进行MD5加密

    MD5加密 目前md5加密解密的工具网上太多了,可以使用加密以后截取部分的方式使用。

网友评论

  • JaneEyre3X:为啥我打印出来没有转成密文呢? 楼主
  • 61cbb200688a:请问秘钥是怎么得来的
  • 吴德馨:请问那个秘钥是哪里来的?
    菊上一枝梅:自己按键盘输入的,这个一定要保存好
  • Onlyoner:您好,我的项目之前明文密码登录的,现在要做加密的话是不是不行了,老用户不支持加密过的密码了对吧
    goyohol:叫后台 换数据😂
  • 空转风:加密之后如何使用呢?比如我本地存储用户名密码,加密一下,当我要登录的时候我要怎么解密?
    空转风:@牛蛋 那这个的用处是什么呢,如果人家抓包拿到加密后的密码也发送给服务器也可以冒充我不是吗?
    空转风:@牛蛋 原来如此,谢谢
    牛蛋:@年光逝也被僵尸号占了 不需要解密啊 你只要用MD5加密你输入的密码 ,,你的后台服务器存的是你加密后的MD5密码 ,,直接输入你设置的密码就行
  • BBH_Life:请问下密钥长度,格式等在iOS中有特定规定吗
  • 西门欥雪:灰常喜欢

本文标题:iOS中使用MD5加密

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