数据加密

2016-10-19  本文已影响29人  Mario_ZJ

数据安全

  1. 一定要使用POST请求提交用户的隐私数据
    这个请求的方式,可以将于用户相关的信息全部放在一个请求体内,不会暴露在请求的URL中
  2. GET请求的所有参数都直接暴露在了URL中
    这个请求的方式,会将用户的私人信息暴露在请求的URL内,不利于私人信息的保密
  3. 请求的URL一般会记录在服务器的访问日志中
  4. 服务器的访问日志是黑客攻击的重点对象之一
  1. 机密性(面临着被窃听,秘密泄露的威胁)
  2. 完整性(面临着被篡改,信息被修改的威胁)
  3. 认证(伪装,指的是伪装成通信双方,以成功获取对象的认证)
  4. 不可否认性(否认,是指事后不承认是自己发送的)


常见的加密算法

    编码:base64 123.png -o 123.txt
    解码:base64 123.txt -o test.png -D
    1)将所有字符转化为ASCII码;
    2)将ASCII码转化为8位二进制;
    3)将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位;
    4)统一在6位二进制前补两个0凑足8位;
    5)将补0后的二进制转为十进制;
    6)从Base64编码表获取十进制对应的Base64编码;
    a.转换的时候,将三个byte的数据,先后放入一个24bit的缓冲区中,先来的byte占高位。
    b.数据不足3byte的话,于缓冲区中剩下的bit用0补足。然后,每次取出6个bit,按照其值选择查表选择对应的字符作为编码后的输出。
    c.不断进行,直到全部输入数据转换完成。
    d.如果最后剩下两个输入数据,在编码结果后加1个“=”;
    e.如果最后剩下一个输入数据,编码结果后加2个“=”;
    f.如果没有剩下任何数据,就什么都不要加,这样才可以保证资料还原的正确性。
-(NSString *)base64Encodeing1:(NSString *)string
{
    //将字符串转换成二进制
    NSData * data = [string dataUsingEncoding:NSUTF8StringEncoding];
    //对二进制数据进行base64编码
    NSData * codeData = [data base64EncodedDataWithOptions:0];
    //将编码后的二进制数据转换成字符串后输出
    return [[NSString alloc] initWithData:codeDataencoding:NSUTF8StringEncoding];
}
-(NSString *)base64Encodeing2:(NSString *)string
{
    //将字符串转换成二进制
    NSData * data = [string dataUsingEncoding:NSUTF8StringEncoding];
    //将二进制数据通过base64编译成字符串
    return [data base64EncodedStringWithOptions:0];
}

解码

-(NSString *)base64Decodeing1:(NSString *)string
{
    //将字符串转换成二进制
    NSData * data = [string dataUsingEncoding:NSUTF8StringEncoding];
    //将二进制数据通过base64进行解码
    NSData * deCode = [[NSData alloc] initWithBase64EncodedData:data options:0];
    //将解码 后的二进制数据转换成字符串
    return [[NSString alloc] initWithData:deCode encoding:NSUTF8StringEncoding];
}
-(NSString *)base64Decodeing2:(NSString *)string
{
    //解码字符串,并转换成二进制数据
    NSData * deCodeData = [[NSData alloc] initWithBase64EncodedString:string options:0];
    //将解码后的二进制数据,转换成字符串,并返回
    return [[NSString alloc] initWithData:deCodeData encoding:NSUTF8StringEncoding];
}

常见的其他加密算法

上一篇下一篇

猜你喜欢

热点阅读