MD5加密(自能加密,不能解密)

1.必须导入系统的头文件<CommonCrypto/CommonCrypto.h>
2.//MD5加密 为字符串加密
-(void)md5
{
//1.需要加密的内容
NSString str = @"我的iOS老师是最帅";
//2.将数据转换为data类型 因为系统提供的md5加密的函数为C语言函数,所以需要将OC的字符串转换成C语言的字符串
const char sourceData = [str UTF8String];
//3.C语言的char类型的数组,长度为CC_MD5_DIGEST_LENGTH,因为md5加密是将任意长度的二进制值储存为固定长度的二进制值,所以这里我们长度给定
unsigned char result[CC_MD5_DIGEST_LENGTH];
/

*
* @param data#> 需要加密的源数据(const void *) description#>
* @param len#> 元数据的长度 description#>
* @param md#> 计算之后所存储的容器 description#>
*
*/
//4.将加密好的值存储到result中
CC_MD5(sourceData, (CC_LONG)strlen(sourceData), result);
//5.声明一个可变字符串,用来存储一会加密完成之后的值
NSMutableString *md5_str = [NSMutableString string];
//6.遍历result数组,将所有的元素进行16进制的编码
for (int i=0; i<CC_MD5_DIGEST_LENGTH; i++)
{
[md5_str appendFormat:@"%02X",result[i]];
}
NSLog(@"加密完成%@",md5_str);
}

//为数组加密

  • (void)md5_array
    {
    NSArray *sourceArray = @[@"a",@"c",@"d"];
    //将数组转换为data类型
    NSData *sourceData = [NSJSONSerialization dataWithJSONObject:sourceArray options:NSJSONWritingPrettyPrinted error:nil ];
    NSString *sourceStr = [[NSString alloc]initWithData:sourceData encoding:NSUTF8StringEncoding];
    //1.将string对象转换为char *类型
    const char *strChar = sourceStr.UTF8String;
    //2.创建一个容器
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    //3.进行MD5计算
    CC_MD5(strChar, (CC_LONG)strlen(strChar), result);
    //4.声明一个可变字符串,用来最终转换格式完成后的数据
    NSMutableString *resultString = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH];
    //5.遍历result数组,进行格式转换
    for (int i=0; i<CC_MD5_DIGEST_LENGTH; i++)
    {
    [resultString appendFormat:@"%02X",result[i]];
    }
    NSLog(@"数组加密%@",resultString);
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 常见的加密算法 MD5 \ SHA \ DES \ 3DES \ RC2和RC4 \ RSA \ IDEA \ D...
    小小啄阅读 8,341评论 0 9
  • /**ios常见的几种加密方法: 普通的加密方法是讲密码进行加密后保存到用户偏好设置( [NSUserDefaul...
    彬至睢阳阅读 8,156评论 0 7
  • MD5和base64加密 在网络发展趋势日渐迅猛的今天,数据的安全性也越来越重要。因此,如何保证用户数据的安全就成...
    Joker_King阅读 11,152评论 11 28
  • 先说一下:MD5加密可破解,每一个原密码对应一个不变的MD5加密的密码效果: MD5加密demo 密码: c1j2...
    IIronMan阅读 7,212评论 2 32
  • 周末了,休息一下,吃了两顿简餐,一顿面皮,一顿拌面; 明天又到了上班的日子里,新的一周,要好好调整下节奏和工作方式...
    Deanbian阅读 916评论 1 0