iOS Base64加密

1、Base64编码说明

  Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用‘=‘,因此编码后输出的文本末尾可能会出现1或2个‘=‘。

  为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。

2、Base64编码表

码值 字符   码值 字符   码值 字符   码值 字符
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

3、Base64编码使用

(1)  使用不够三个字节的编码

例如:加密bs (ASCII码 b 十六进制62   s 十六进制为73)

换算二进制 : 0110 0010   0111 0011

不够三个字节的用0补全 0110 0010 0111 0011 0000 0000

转化成6个自己模式 011000 100111 001100 000000

查找base64编码表分别对应 YnM=

(2)  使用大于或等于三个字节的编码

例如:加密asd (ASCII码 a 十六进制61   s 十六进制为73   d十六进制为64)

换算二进制 : 0110 0001 0111 0011 0110 0100

转化成6个自己模式 011000 010111 001101 100100

查找base64编码表分别对应 YXNk

时间: 2024-10-05 18:00:50

iOS Base64加密的相关文章

iOS base64加密解密

本文转载至 http://jingyan.baidu.com/article/93f9803fff45c9e0e46f5596.html 从参考资料的地址中下载GTMBase64.zip库文件包,并解压,获得GTMBase64.h,GTMBase64.m和GTMDefines.h三个文件. 将解压得到的三个文件,添加到项目中. 新建一个base64的类,在base64.h中天假四个函数: + (NSString*)encodeBase64String:(NSString*)input; + (N

IOS下Base64加密

Base64加密是常用的加密算法,在IOS的Des加密算法中已经使用到了Base64算法,还是单独整理出来吧. Base64.h文件 // // Base64.h // Copyright (c) 2014年 grant. All rights reserved. // #import <Foundation/Foundation.h> @interface Based64 : NSObject //Base64加密 + (NSString *) encodeBase64WithString:

(iOS)Base64加密和DES加密、以及JAVA和iOS中DES加密统一性问题

我们在项目中为了安全方面的考虑,通常情况下会选择一种加密方式对需要安全性的文本进行加密,而Base64加密和DES64加密是常用的加密算法.我记得我在前一个项目中使用的就是这两种加密算法的结合:Base64 + DES加密.当然这需要移动端和后台服务器做一个统一. 1.Base64加解密 值得一提的是:apple提供了基础的Base64加解密算法.这样我们就可以直接使用方法去实现Base64加解密.先看一下apple都提供了哪些方法: @interface NSData (NSDataBase6

iOS常用加密方法(aes、md5、base64)

1.代码 iOS常用加密方法(aes.md5.base64) 1.AES加密 NSData+AES.h文件 // // NSData-AES.h // Smile // // Created by 周 敏 on 12-11-24. // Copyright (c) 2012年 BOX. All rights reserved. // #import <Foundation/Foundation.h> @class NSString; @interface NSData (Encryption)

iOS HmacSHA1加密 和 MD5 Base64加密 --iOS开发系列---项目中成长的知识五

项目中开发中需要对一些数据进行加密后和服务器验证是否是我们客户端发出的请求! 方案是服务器定的,使用HmacSHA1加密和MD5 Base64加密 加密过程比较复杂 1.获取格林威治时间 2.用base64编码对请求数据内容进行MD5值计算 3.设置请求格式 4.设置鉴权信息,需要对上面的3个内容以及请求的链接 进行HMacSHA1再次进行加密 加密过后把上面4步获得的值加入到http的请求头中,一并发送给服务器,服务器经过验证后,才返回给我们我们想要的信息 下面贴代码说明我们使用的两个加密 首

ios Base64编解码工具类及使用

为了避免明码传递http内容,可以用base64编码后传输,收到方再解码,也方便了2进制数据的字符串式传输. 对于ios来说,google给提供了一个很好的工具类,方便进行base64编解码,当然也可以用openssl来进行,但这东西相对来 说比较麻烦.google给提供了3个文件就够了. 官网地址是: http://code.google.com/p/google-toolbox-for-mac/ 这里面有很多宝贝,如果自己找很难找到这3个文件,所以我加到附件里.解压后放到ios工程中即可使用

iOS代码加密常用加密方式

在今天的面试中,被问到了iOS是采用什么进行加密解密操作的,我的回答是这样的:AES,MD5,Base 64,然后是对这几种加密算法进行了一下简单的介绍和概述和几种算法之间的不同点和优缺点.然而,收到的回答是:这些都不是iOS的加密!我顿时就无语了,这不就是iOS加密所用到的方法么?然后向面试官请教了一下:MD5是一种摘要....什么叫加密呢?加密是客户端对数据加密和服务器端采用秘钥对数据进行解密处理,为了数据的安全考虑.要说加密应该是RSA.幸亏之前有了解过RSA,只是了解的不是很彻底和清楚.

iOS——常用加密方式

iOS代码加密常用加密方式,常见的iOS代码加密算法包括MD5加密.AES加密.BASE64加密. 三大算法iOS代码加密是如何进行加密的: /////////////////////////////////////////////////////////////////// MD5 iOS代码加密使用方法 /////////////////////////////////////////////////////////////////// //创建MD5类,代码如下 #import <Foun

iOS常用加密方式

示例项目下载地址  https://github.com/cerastes/Encryption 1MD5 创建MD5类 #import <Foundation/Foundation.h> @interface CJMD5 : NSObject +(NSString *)md5HexDigest:(NSString *)input; @end #import "CJMD5.h" #import <CommonCrypto/CommonDigest.h> @imp