iOS base64 MD5
网络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相关推荐
- java中的DES,AES,BASE64,MD5和Cipher类\MessageDigest类
Cipher类位于javax.crypto包下,声明为 public class Cipher extends Object 此类为加密和解密提供密码功能.它构成了 Java Cryptographi ...
- SAP ABAP BASE64 MD5 加解密
SAP ABAP BASE64 MD5 加解密的完整代码,开箱即用. abap base64 加解密 SAP EPIC 银企直连 616261702062617365363420E58AA0E8A7A ...
- C#加密解密(DES,AES,Base64,md5,SHA256,RSA,RC4)
一:异或^简单加解密(数字类型) 1:原理: 异或用于比较两个二进制数的相应位,在执行按位"异或"运算时,如果两个二进制数的相应位都为1或者都为0,则返回0;如果两个二进制数的相应 ...
- golang中base64 md5 sha256的编解码及摘要算法、aes、des、sha1
golang中base64 md5 sha256的编解码及摘要算法.aes.rsa.des.sha1 golang中base64 md5 sha256的编解码及摘要算法 关于加密解密 AES DES ...
- 性能测试初学_loadrunner base64/md5 编码 解码
参考这3篇文章: MD5: http://bbs.51testing.com/forum.php?mod=viewthread&tid=1111323 base64: http://www.c ...
- iOS Base64转码(使用ios7系统自带编码库 和 GMTBase64 两种方式)
demo下载地址:http://pan.baidu.com/s/1i3LvaDZ 在iOS7 中系统提供了base64 的转码方式 示比例如以下: NSData* originData = [orig ...
- ios android md5加密,iOS中使用MD5加密
在iOS中使用MD5加密较简单,需要引入头文件CommonCrypto/CommonDigest.h,我们单独新建一个用于MD5加密的类Encryption,此类继承NSObject. Encrypt ...
- 合宙Air105|CRYPTO|加密与解密|算法|RSA|HASH函数| BASE64|MD5|SHA1|SHA256|CRC|官方demo|学习(4):CRYPTO(加密与解密)
基础资料 基于Air105开发板:Air105 - LuatOS 文档 上手:开发上手 - LuatOS 文档 探讨重点 对官方CRYPTO(加密与解密) 功能的复现,进行相关内容的学习及探讨. 实现 ...
- Flex Base64 md5 123456后得到4QrcOUm6Wau+VuBX8g+IPg==
想在flex前台加密后再传输密码 但是用flex带的as3corelib MD5"123456"后的Base64编码却是ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMD ...
最新文章
- 最新版火车头织梦内容发布规则_火车头采集器V8.6发布dedecms自定义字段解决方案...
- python 交互图形 bokeh学习总结
- NVIDIA新作解读:用GAN生成前所未有的高清图像(附PyTorch复现) | PaperDaily #15
- 为什么不应该使用(长期存在的)功能分支
- 风机桨叶故障诊断(四) 正负样本准备——从图像中随机扣图
- 【大师分享】人工智能始发力,医学影像更清晰
- 批量获得oracle存储过程等
- xml TO json
- 大数据分析的特点有哪些
- sql不写parametertype_Mapper接口中方法的输入参数类型要和Mapper.xml中定义的每个sql的parameterType的类型相同...
- 【第七课】Smart 3D集群教程
- Java代码一行一行读取txt的内容
- 企业微信自建应用 网页授权登录 获取用户信息
- 新版风格收款码三合一制作生成系统源码 附多个模板
- java小数位数保留
- 网红为什么能增加ROI?什么样的网红才能增加ROI
- 【Vue 问题】文件流导出为excel无法打开
- Java的各个应用平台
- 用预处理指令#define 声明一个常数,用以表明一年中有多少秒
- python试卷三联学院_安徽三联学院期末考试英国文学完整版
热门文章
- fedora装机后要运行的脚本(原创)
- Hide the common top menu in Ubuntu 12.04
- 浏览器内核Trident/Gecko/WebKit/Presto
- [置顶] 如何搭建一个 Data Guard 环境
- 关闭Windows 2000/XP/2003默认共享
- [总结]博客聚合-cnblogs,wordpress,live writer,word2010
- 新公司研发能力低下,何去何从?
- asp.net利用RAR实现文件压缩解压缩【月儿原创】
- Ubuntn删除软件
- WMI技术介绍和应用——查询时间信息