数据类型转换、密码安全加密MD5方法

原创 2015年11月20日 18:11:55

数据类型转换

int转换databyte在转换int

int m = 16;

        NSData *IntToData1 = [NSData dataWithBytes: &m length: sizeof(m)];

        

        

        Byte *byteint = (Byte *)[IntToData1 bytes];

        NSLog(@"byteint:%s",byteint);

        NSMutableArray *tableint = [NSMutableArray array];

        for (int index = 0; index <= [IntToData1 length]; index ++) {

            [tableint addObject:@(byteint[index])];

        }

        NSLog(@"tableint:%@",tableint);

//        Byte *byteintt = [&(16),0,0,0];

        

        [self heightBytesToInt:byteint];



-(int )heightBytesToInt:(Byte[]) byte

{

    int height = 0;

    for (int i = 0; i < [testData length]; i++)

    {

        if (byte[i] >= 0)

        {

            height = height + byte[i];

        } else

        {

            height = height +256 + byte[i];

        }

        height = height * 256;

        if (byte[3] >= 0)

        {

            height = height + byte[3];

        } else

        {

            height = height + 256 + byte[3];

        }

        

    }

    return height;

}

//将低位字节转换为int

//在网络上传输的是以低位字节进行的; htonl,将int转换为网络字节序的intntohl,将网络字节序的int转换回来,-(int) lBytesToInt:(Byte[]) b,将以低位传输的网络字节序bytes数组转换为htonl之后对应的值

-(int) lBytesToInt:(Byte[]) byte

{

    int height = 0;

    for (int i = 0; i < [testData length]; i++)

    {

        if (byte[[testData length]-i] >= 0)

        {

            height = height + byte[[testData length]-i];

        } else

        {

            height = height + 256 + byte[[testData length]-i];

        }

        height = height * 256;

    }

    if (byte[0] >= 0)

    {

        height = height + byte[0];

    } else {

        height = height + 256 + byte[0];

    }

    return height;

}


数据类型转换

//        ByteData

        NSData *dataqdd = [[NSData alloc]initWithBytes:testByte length:4];

        

        NSLog(@"dataqdd:%@",dataqdd);

        NSLog(@"subArray%@",subArray);

//        ByteTOData

//        NSData *data = [[NSData alloc]initWithBytes:(__bridge const void * _Nullable)(subArray) length:subArray.count];

        NSData *data = [[NSData alloc]initWithBytes:testByte length:subArray.count];

        NSLog(@"ByteTOData:%@",data);


//        DataToString

        NSString *string = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];

        NSLog(@"DataToString:%@",string);


Byte定义

    Byte byteintt = {16,0,0,0};




Data拼接在一起的实例:

NSString *da= @"大家好";

        NSData *data1 = [da dataUsingEncoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)];

        

        NSString *daya = @"请见谅";

        NSData *data2 = [daya dataUsingEncoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)];

        NSString *daya1 = @"来晚了";

        NSData *data3 = [daya1 dataUsingEncoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)];

        

        NSMutableData *dataZong = [[NSMutableData alloc]init];

        [dataZong appendData:data1];

        [dataZong appendData:data2];

        [dataZong appendData:data3];

        

        NSRange rang = NSMakeRange(0, [dataZong length]);

        

        NSData *das = [dataZong subdataWithRange:rang];

        

        NSString *stringqq = [dataweb DataWithForStringData:das];

        

        NSLog(@"%@",stringqq);



转换成GB2312编码格式

NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);



密码安全加密MD5方法

+(NSString *) md5: (NSString *) inPutText 

{

    const char *cStr = [inPutText UTF8String];

    unsigned char result[CC_MD5_DIGEST_LENGTH];

    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]

             ] lowercaseString];

}


在使用访问服务器时,若传递的值在请求服务器之前就执行的话,在请求数据结束是使用block,代理,通知等提醒可以使用该数据了(进行传值),公司项目中的判断登陆是否成功和提醒窗口信息

版权声明:本文为博主原创文章,未经博主允许不得转载。

java中使用MD5算法给密码加密的方式

package test.base64; import java.math.BigInteger; import java.security.MessageDigest; import java.s...
  • z83986976
  • z83986976
  • 2015年01月11日 09:57
  • 1388

使用Md5算法对密码进行加密

Md5加密算法对密码进行加密 先上代码:package com.star.utils;import java.math.BigInteger; import java.security.Message...
  • zhoucheng05_13
  • zhoucheng05_13
  • 2016年11月28日 22:40
  • 1070

为什么要在MD5加密的密码中加“盐”

原文地址:http://www.xttblog.com/?p=986   盐(Salt)在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符...
  • haluoluo211
  • haluoluo211
  • 2017年07月18日 15:49
  • 403

MD5加密算法的使用 (及加盐操作)

2.MD5加密算法的使用 (及加盐操作)/** * @Des 得到相应的一个MD5加密后的字符串 * @param psd * @param salt * @return MD5加密后的...
  • qq_21434959
  • qq_21434959
  • 2016年09月13日 23:44
  • 2697

MD5加密算法--->java使用md5存储密码

Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。 仔细讲解MD5百度都有,下面是实现代码: ...
  • u013890437
  • u013890437
  • 2014年03月03日 19:59
  • 868

java安全之加密技术

加密方式对称加密算法只有一个密钥key进行加密解密,可以逆向加解密。1.凯撒密码古代有名的加密算法,将加密的数据进行一定的以为,属于对称加密,密钥key = 2(int 值)。这种加密非常简单,只需要...
  • itheimach
  • itheimach
  • 2016年08月02日 18:02
  • 1163

iOS - 网络数据安全加密(MD5)

网络安全
  • qiuxuewei2012
  • qiuxuewei2012
  • 2015年08月05日 21:25
  • 580

iOS开发 - 网络数据安全加密(MD5)

提交用户的隐私数据一定要使用POST请求提交用户的隐私数据 GET请求的所有参数都直接暴露在URL中 请求的URL一般会记录在服务器的访问日志中 服务器的访问日志是黑客攻击的重点对象之一用户的隐...
  • wangzi11322
  • wangzi11322
  • 2015年05月08日 15:54
  • 3878

关于用户密码的简单加密(DES+MD5)与复杂加密(自己想的)

用户信息的加密方式,
  • breaknull
  • breaknull
  • 2015年09月07日 14:27
  • 2420

登录系统中密码用MD5加密有何作用?防谁呢?(附有代码)

在学习PHP100教程时,看到留言板的登录制作,先把MD5加密过的密码形式存储到数据库中,然后通过登陆框输入未加密的原始密码,PHP从后台帮你把原始密码生成对应的MD5,再去和数据库中的MD5密码进行...
  • qq_27752831
  • qq_27752831
  • 2016年09月12日 14:00
  • 1254
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据类型转换、密码安全加密MD5方法
举报原因:
原因补充:

(最多只允许输入30个字)