美文网首页
IOS加密学学习(一)

IOS加密学学习(一)

作者: coderhlt | 来源:发表于2018-02-23 10:12 被阅读38次

安全的原则
1、在网络上不允许传输用户隐私数据的明文
2、在本地不允许保存用户隐私数据的明文

数据安全
相对POST请求而言,GET请求的所有参数都直接暴露在URL中,请求的URL一般会记录在服务器的访问日志中,而服务器的访问日志是黑客攻击的重点对象之一。
然仅仅使用Post请求提交用户隐私数据,还是不能完全解决安全问题的,可以使用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据,因此,提交用户的隐私数据时,一定不要明文提交,要加密处理后提交。

信息安全所面临的威胁
机密性(被窃听,秘密泄露)
完整性(篡改,信息被修改)
认证(伪装,伪装成通信双方)
不可否认性(否认,事后不承认是自己发送的)

常用的加密算法
MD5 \ SHA \ DES \ 3DES \ RC2和RC4 \ RSA \ IDEA \ DSA \ AES

加密算法的选择
一般公司都会有一套自己的加密方案,按照公司接口文档的规定去加密

一、Base64编码

描述:Base64可以成为密码学的基石,非常重要。
特点:可以将任意(图片、音频、视频、字符串)的二进制数据进行Base64编码;
能够逆运算,不够安全,但却被很多加密算法 作为编码方式;

结果:所有的数据(图片、音频、视频、字符串)都能被编码为并只用65个字符就能表示的文本文件。
65字符:A~Z a~z 0~9 + / =
对文件进行base64编码后文件数据的变化:编码后的数据~=编码前数据的4/3,会大1/3左右。

//字符串转base64字符串
-(NSString *)base64Encoding:(NSString *)string
{
    //01 把字符串转换为二进制数据
    NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
    
    //02 对二进制数据进行BASe64编码,返回字符串
    return [data base64EncodedStringWithOptions:kNilOptions];
}

//base64字符串转字符串
-(NSString *)base64Decoding:(NSString *)string
{
    //01 先对数据进行base64解码
    NSData *data = [[NSData alloc]initWithBase64EncodedString:string options:kNilOptions];
    
    //02 把二进制数据转换为字符串
    return [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
}
//图片转base64字符串
- (NSString *)base64withimage:(UIImage *)image{
    NSData *data=UIImagePNGRepresentation(image);
    return [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}

//base64字符串转图片
-(UIImage *)base64Encodingwithimagestring:(NSString *)imagestring{
    NSData *decodedImageData = [[NSData alloc]
                                initWithBase64EncodedString:imagestring options:NSDataBase64DecodingIgnoreUnknownCharacters];
    return  [UIImage imageWithData:decodedImageData];

}


相关文章

  • iOS逆向之App签名原理

    iOS App签名原理 在学习iOS签名之前,需要对密码学有一定的了解,比如RSA加密、HASH哈希函数参考:ht...

  • iOS安全--APP代码签名机制

    学习路线(内部分享内容) 加密解密(对称加密、非对称加密、混合加密) 单向散列函数 数字签名 证书 iOS签名机制...

  • iOS 加密算法 CommonCrypto框架①【待补充】

    iOS 加密算法 iOS CommonCrypto框架① iOS 加密算法 iOS CommonCrypto框架②...

  • iOS几种加密方式

    iOS 几种加密方法2017-06-19 [iOS开发] iOS常见的几种加密方法 普通加密方法是讲密码进行加密后...

  • iOS代码加密常用加密方式

    iOS代码加密常用加密方式,常见的iOS代码加密常用加密方式算法包括MD5加密、AES加密、BASE64加密,三大...

  • iOS常用加密方式

    iOS代码加密常用加密方式,常见的iOS代码加密常用加密方式算法包括MD5加密、AES加密、BASE64加密,三大...

  • iOS加密学习

    安全的原则1、在网络上不允许传输用户隐私数据的明文2、在本地不允许保存用户隐私数据的明文 数据安全相对POST请求...

  • iOS端加密

    转载: 史上最全iOS端数据加密类 iOS加密实用总结

  • IOS加密学学习(一)

    安全的原则1、在网络上不允许传输用户隐私数据的明文2、在本地不允许保存用户隐私数据的明文 数据安全相对POST请求...

  • iOS-15 加密

    1iOS 常用加密方式讲解 - 简书 2iOS加密方式(RSA签名、加密、AES) - 简书

网友评论

      本文标题:IOS加密学学习(一)

      本文链接:https://www.haomeiwen.com/subject/ubvtxftx.html