网络APP 只要涉及用户隐私的数据,均不能以明文传输。

一 base64 编码

将任意的二进制数据转为编码为 65个字符的组成。

0-9 a-z A-Z + / = 一共 65 个 字符

例如:
1 mac 自带 base64命令

可以将base64 编码的文件可以转换

–》将桌面上1.png 图片经过base64编码生成一个abc.text,

base64 1.png -o abc.text

–》 同理 通过命令行将text 转换为png图片 -D 表示进行解码的意思,不加-D,图片则不能打开。

base64 abc.text -o re.png -D

#pragma mark -  base64 编码方式
/**传入一个子串,返回base64 编码加密都是对二进制进行加密@param string <#string description#>*/
- (NSString *)base64Encode:(NSString *)string
{// 1 将子串转为 二进制数据NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];// 2 返回编码的子串return  [data base64EncodedStringWithOptions:0];
}#pragma mark -  base64 解码方式
- (NSString *)base64Decode:(NSString *)string
{// 1 将字符串转换为dataNSData *data = [[NSData alloc]initWithBase64EncodedString:string options:0];// 2 返回解码后的字符串return  [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
}

二 MD5

关于MD5 加密,是不能反编译的,但是可以破解的。

MD5 的进一步安全一点的措施,就是进行加盐,将盐写在APP 内部,就会相对安全一点,

但是如果盐被拿到,同样会不安全的。

#import "NSString+Hash.h"即可使用#pragma mark - 进行加盐处理 该字符串足够长 足够复制static NSString *salt = @"dasdasdasdhabdabsdjknadnaslmlmsdmdklamskdmkwkakdmdamd";- (void)login{// 1 密码账号NSString *userID = @"yskysk";NSString *pwd = @"123456";// MARK: md5 加盐// 2 进行MD5 加盐// 盐是固定的,是写死在程序内的,一旦盐泄露,同样会造成不安全NSString *password = [pwd stringByAppendingString:salt].md5String;NSLog(@"加盐后的密码:%@",password);if ([self isSuccess:userID withPwd:password]) {// 登陆成功NSLog(@"登陆成功");}else{// 登录失败NSLog(@"登陆失败");}}

iOS base64 MD5相关推荐

  1. java中的DES,AES,BASE64,MD5和Cipher类\MessageDigest类

    Cipher类位于javax.crypto包下,声明为 public class Cipher extends Object 此类为加密和解密提供密码功能.它构成了 Java Cryptographi ...

  2. SAP ABAP BASE64 MD5 加解密

    SAP ABAP BASE64 MD5 加解密的完整代码,开箱即用. abap base64 加解密 SAP EPIC 银企直连 616261702062617365363420E58AA0E8A7A ...

  3. C#加密解密(DES,AES,Base64,md5,SHA256,RSA,RC4)

    一:异或^简单加解密(数字类型) 1:原理: 异或用于比较两个二进制数的相应位,在执行按位"异或"运算时,如果两个二进制数的相应位都为1或者都为0,则返回0;如果两个二进制数的相应 ...

  4. golang中base64 md5 sha256的编解码及摘要算法、aes、des、sha1

    golang中base64 md5 sha256的编解码及摘要算法.aes.rsa.des.sha1 golang中base64 md5 sha256的编解码及摘要算法 关于加密解密 AES DES ...

  5. 性能测试初学_loadrunner base64/md5 编码 解码

    参考这3篇文章: MD5: http://bbs.51testing.com/forum.php?mod=viewthread&tid=1111323 base64: http://www.c ...

  6. iOS Base64转码(使用ios7系统自带编码库 和 GMTBase64 两种方式)

    demo下载地址:http://pan.baidu.com/s/1i3LvaDZ 在iOS7 中系统提供了base64 的转码方式 示比例如以下: NSData* originData = [orig ...

  7. ios android md5加密,iOS中使用MD5加密

    在iOS中使用MD5加密较简单,需要引入头文件CommonCrypto/CommonDigest.h,我们单独新建一个用于MD5加密的类Encryption,此类继承NSObject. Encrypt ...

  8. 合宙Air105|CRYPTO|加密与解密|算法|RSA|HASH函数| BASE64|MD5|SHA1|SHA256|CRC|官方demo|学习(4):CRYPTO(加密与解密)

    基础资料 基于Air105开发板:Air105 - LuatOS 文档 上手:开发上手 - LuatOS 文档 探讨重点 对官方CRYPTO(加密与解密) 功能的复现,进行相关内容的学习及探讨. 实现 ...

  9. Flex Base64 md5 123456后得到4QrcOUm6Wau+VuBX8g+IPg==

    想在flex前台加密后再传输密码 但是用flex带的as3corelib MD5"123456"后的Base64编码却是ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMD ...

最新文章

  1. 最新版火车头织梦内容发布规则_火车头采集器V8.6发布dedecms自定义字段解决方案...
  2. python 交互图形 bokeh学习总结
  3. NVIDIA新作解读:用GAN生成前所未有的高清图像(附PyTorch复现) | PaperDaily #15
  4. 为什么不应该使用(长期存在的)功能分支
  5. 风机桨叶故障诊断(四) 正负样本准备——从图像中随机扣图
  6. 【大师分享】人工智能始发力,医学影像更清晰
  7. 批量获得oracle存储过程等
  8. xml TO json
  9. 大数据分析的特点有哪些
  10. sql不写parametertype_Mapper接口中方法的输入参数类型要和Mapper.xml中定义的每个sql的parameterType的类型相同...
  11. 【第七课】Smart 3D集群教程
  12. Java代码一行一行读取txt的内容
  13. 企业微信自建应用 网页授权登录 获取用户信息
  14. 新版风格收款码三合一制作生成系统源码 附多个模板
  15. java小数位数保留
  16. 网红为什么能增加ROI?什么样的网红才能增加ROI
  17. 【Vue 问题】文件流导出为excel无法打开
  18. Java的各个应用平台
  19. 用预处理指令#define 声明一个常数,用以表明一年中有多少秒
  20. python试卷三联学院_安徽三联学院期末考试英国文学完整版

热门文章

  1. fedora装机后要运行的脚本(原创)
  2. Hide the common top menu in Ubuntu 12.04
  3. 浏览器内核Trident/Gecko/WebKit/Presto
  4. [置顶] 如何搭建一个 Data Guard 环境
  5. 关闭Windows 2000/XP/2003默认共享
  6. [总结]博客聚合-cnblogs,wordpress,live writer,word2010
  7. 新公司研发能力低下,何去何从?
  8. asp.net利用RAR实现文件压缩解压缩【月儿原创】
  9. Ubuntn删除软件
  10. WMI技术介绍和应用——查询时间信息