c语言加密字符串正序变倒序,MD5加密(自能加密,不能解密)

1.必须导入系统的头文件

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

{

[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

{

[resultString appendFormat:@"%02X",result[i]];

}

NSLog(@"数组加密%@",resultString);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值