`
lizaochengwen
  • 浏览: 658224 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iOS使用MD5 - 字符串加密至MD5&获取文件MD5

 
阅读更多
iOS 字符串加密至MD5

#import <CommonCrypto/CommonDigest.h>

+ (NSString *) md5:(NSString *)str 
{
    const char *cStr = [str UTF8String];
    unsigned char result[16];
    CC_MD5( cStr, strlen(cStr), result );
    return [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
                           result[0], result[1], result[2], result[3], 
                           result[4], result[5], result[6], result[7],
                           result[8], result[9], result[10], result[11],
                           result[12], result[13], result[14], result[15]
  ];
}


iPhone处理大文件检测MD5的代码

+(NSString*)fileMD5:(NSString*)path
{
    NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:path];
    if( handle== nil ) return @"ERROR GETTING FILE MD5"; // file didnt exist
 
    CC_MD5_CTX md5;
 
    CC_MD5_Init(&md5);
 
    BOOL done = NO;
    while(!done)
    {
        NSData* fileData = [handle readDataOfLength: CHUNK_SIZE ];
        CC_MD5_Update(&md5, [fileData bytes], [fileData length]);
        if( [fileData length] == 0 ) done = YES;
    }
    unsigned char digest[CC_MD5_DIGEST_LENGTH];
    CC_MD5_Final(digest, &md5);
    NSString* s = [NSString stringWithFormat: @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
                   digest[0], digest[1], 
                   digest[2], digest[3],
                   digest[4], digest[5],
                   digest[6], digest[7],
                   digest[8], digest[9],
                   digest[10], digest[11],
                   digest[12], digest[13],
                   digest[14], digest[15]];
    return s;
}


分享到:
评论

相关推荐

    IOS开发之----常用加密方法(AES、MD5、Base64)

    MD5是一种广泛使用的哈希函数,产生128位(16字节)的散列值,通常表示为32位的16进制字符串。MD5主要用于验证数据的完整性和一致性,但因为其已知的安全性问题(容易碰撞),不推荐用于加密敏感数据。在iOS中,你...

    iOS移动开发MD5加密

    总结,iOS开发中的MD5加密主要用于字符串的单向加密和数据完整性校验。了解如何使用MD5Helper类并结合不同需求(如32位和16位,大小写处理)进行操作,对于iOS开发者来说是必要的技能。然而,鉴于MD5的安全性问题,...

    iOS的MD5加密

    在iOS开发中,数据安全是至关重要的一个环节,而MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,常用于数据的完整性校验和密码存储。本篇文章将详细解析标题“iOS的MD5加密”所涉及的知识点,并结合...

    iOS MD5加密(常规、32位大小写、16位大小写等)

    MD5各种加密。 番外:对文本+key进行md5 code32加密 再进行base64代码 /** 该方法是对文本+key进行md5 code32加密 再进行base64 @return 加密后的text ... //返回加密后的字符串 return base64String; }

    iOS MD5加密

    描述中的"字符串加密"进一步强调了MD5在处理字符串数据时的应用。在iOS开发中,我们经常需要对用户的登录密码、账户ID等进行加密处理,以保护用户的隐私。 在提供的文件列表中,`NSString+Hash.h`和`NSString+Hash....

    delphi xe 使用的md5 加密

    `Unit4.pas`可能是实现MD5加密的源代码单元,你需要检查这个文件以获取具体的实现细节。 总的来说,通过理解MD5算法和Delphi XE的编程环境,你可以构建一个能够在桌面和移动设备上运行的MD5加密工具。然而,为了...

    ios MD5加密

    总结,"ios MD5加密"涉及了在iOS应用中实现MD5哈希的过程,包括对字符串进行加密的步骤、使用的关键API以及需要注意的安全性问题。通过实践和理解这些概念,开发者可以更好地保护用户数据的安全。

    iOS中使用MD5加密字符串

    总之,iOS应用中使用MD5加密字符串涉及的关键步骤包括创建NSString分类,引入`CommonCrypto`框架,定义并实现MD5加密方法,以及在需要的地方调用这个方法。通过这种方式,我们可以确保敏感信息的安全,同时简化了...

    iOS swift 写的HMAC_SHA1和MD5加密

    本话题主要关注的是使用Swift实现的HMAC(Hash-based Message Authentication Code)_SHA1和MD5加密算法。 首先,HMAC是一种基于哈希函数的消息认证码,它结合了密钥和消息,生成一个固定长度的摘要,用于验证数据...

    swift-一行代码搞定NSString和NSData的md5加密

    在iOS应用开发中,我们可能需要对NSString(字符串)或NSData(二进制数据)进行MD5加密。标题提到的“一行代码搞定NSString和NSData的md5加密”意味着存在一个高效且简洁的方法来实现这个功能。 在Swift中,尽管...

    ios-MD5.zip

    在iOS开发中,MD5常被用来对字符串、文件等进行单向加密,生成固定长度的摘要(通常为32位的16进制数字),以确保数据在传输或存储过程中的完整性和一致性。 1. **MD5原理** MD5是由美国密码学家Ronald Rivest在...

    swift-iOS数据安全--base64md5AESDESRSA

    在iOS中,`Data`对象可以使用`Data.base64EncodedString()`方法编码为Base64字符串,而`Data.init(base64Encoded:)`则可以将Base64字符串解码回原始数据。Base64通常用于在网络上传输二进制数据,因为大多数协议只...

    NSHash字符串加密

    在字符串加密过程中,开发者通常会使用特定的算法,如MD5(Message-Digest Algorithm 5)或SHA(Secure Hash Algorithm)系列,这些算法可以生成不可逆的哈希值。NSHash虽然不直接支持这些标准哈希算法,但可以通过...

    ios下md5和sha加密代码实现

    在iOS中,我们可以使用CommonCrypto库来实现MD5和SHA加密。以下是一个简单的Objective-C示例,演示如何在iOS应用中使用这些算法: ```objc #import // MD5加密 + (NSString *)md5:(NSString *)input { const ...

    ios加密之 MD5

    在实际项目中,如果你使用了名为"MD5Demo"的文件或项目,它可能包含了一个简单的MD5加密的示例应用,展示如何在iOS应用中集成和使用MD5功能。你可以通过这个项目学习如何在实际开发中应用MD5加密,以及如何在代码中...

    IOS MD5指纹加密

    MD5是一种非对称加密算法,它将输入的数据通过一系列复杂的计算过程转化为128位的哈希值,这个哈希值通常以32位的十六进制字符串形式呈现。由于MD5的特性,相同的输入会产生相同的输出,而不同的输入几乎不可能产生...

    C++ MD5加密封装类

    - 构造函数可以接受字符串或文件流作为输入,初始化MD5计算。 - 成员函数如`update()`用于添加更多数据到MD5计算中,`final()`则完成计算并返回最终的MD5摘要。 4. **编码与解码**: - MD5摘要通常以16进制字符...

    ios-网络数据安全 --- base64 和 MD5 的简单封装.zip

    总的来说,理解并掌握Base64编码和MD5哈希在iOS开发中的应用,对于提高应用程序的数据安全性至关重要。不过,要注意,对于现代密码学标准,MD5已不再足够安全,通常推荐使用更强大的哈希算法(如SHA-256)和加盐...

    iOS常用加密方法(aes、md5、base64)

    例如,可以先用AES对数据进行加密,然后使用Base64编码将加密后的结果转化为可打印的字符串,便于在网络上传输。而MD5则常用于生成数据的指纹,以检测数据是否被篡改。 在iOS中实现这些加密功能,可以借助于系统的...

Global site tag (gtag.js) - Google Analytics