#import <UIKit/UIKit.h>

@interface Base64String : NSObject

+ (NSString *)base64String:(NSString*)sourceString;

+ (NSString*)encodeBase64String:(NSString*)baseString;

+ (NSString*)base64Image:(UIImage*)image;

+ (UIImage*)encodebase64WithImage:(NSString*)baseSring;

@end

/88888888888888888888888分割线88888888888888888888888888/

#import "Base64String.h"

@implementation Base64String

//把字符串加密为base64字符串

+ (NSString *)base64String:(NSString*)sourceString

{//判断字符串的长度是否小于等于0如果是,就返回空

if (sourceString.length <=0) {

return nil;

}

//把字符串转化为二进制流

NSData * sourceData = [[NSData alloc] initWithData:[sourceString dataUsingEncoding:NSUTF8StringEncoding]];

//把二进制流转化为base64字符串

NSString * baseString = [sourceData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];

return baseString;

}

+ (NSString*)encodeBase64String:(NSString*)baseString

{

if (baseString.length <= 0) {

return  nil;

}

NSData * data = [[NSData alloc] initWithBase64EncodedString:baseString options:NSDataBase64DecodingIgnoreUnknownCharacters];

return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

}

+ (NSString*)base64Image:(UIImage*)image

{

if (!image) {

return nil;

}

NSData * data =  UIImagePNGRepresentation(image);

NSString * base64Str = [data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];

return base64Str;

}

+ (UIImage*)encodebase64WithImage:(NSString*)baseSring

{

NSData * data = [[NSData alloc] initWithData:[baseSring dataUsingEncoding:NSUTF8StringEncoding]];

NSData * myData = [[NSData alloc] initWithBase64EncodedData:data options:NSDataBase64DecodingIgnoreUnknownCharacters];

return [UIImage imageWithData:myData];

}

@end

iOS中的base64加密的更多相关文章

  1. IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现

    看完过后,你会学到: 1学习IOS开发中的分类实现, 2以及类方法的书写, 3以及字符串的MD5加密/解密. ---------------------------wolfhous---------- ...

  2. URL中增加BASE64加密的字符串引起的问题(java.net.MalformedURLException:Illegal character in URL)

    序 昨天在做一个 Demo 的时候,因为是调用第三方的接口,採用的是 HTTP 的通信协议,依照文档上的说明,须要把參数进行加密后增加到 URL 中.可是,就是这个看似普普通通的操作,却让我着实费了非 ...

  3. js中变量base64加密传输

    首先对base64进行定义: var Base64 = { _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01 ...

  4. Java中使用BASE64加密&解密

    package com.bao.tools.encryption; import java.io.IOException; import org.junit.Test; import sun.misc ...

  5. Jmeter中实现base64加密

    Jmeter已不再提供内置base64加密函数,遇到base64加密需求,需要通过beanshell实现 直接上beanshell代码: import org.apache.commons.net.u ...

  6. .NET中进行Base64加密解密

    方法一: /// <summary> /// Base64加密 /// </summary> /// <param name="Message"> ...

  7. python中的base64加密解密

    介绍 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法.可查看RFC2045-RFC2049,上面有MIME的详细规范. ...

  8. js中实现base64加密、解密

    //base64加密 解密 /* //1.加密 var result = Base.encode('125中文'); //--> "MTI15Lit5paH" //2.解密 ...

  9. iOS 中使用Base64编码方式编码图片数据

    最近一个项目要求对图片数据简单加密下,就是那种不能直接看到图片内容就行.于是我使用了base64编码对图片数据进行编码,把图片2进制数据变成了base64的字符串,再把这个字符串保存到server的数 ...

随机推荐

  1. Windows Form简易计算器实现(下)

    陆陆续续更新这个计算器用了一个礼拜了,今天无论如何也要把它更完.笔者有点追求完美,再者每天都有课,晚上还有作业,还有每晚都会写一些其他的博文. 上一次漏了写如何实现计算的.思路如下: 之前得到一个栈2 ...

  2. CodeForces 721D Maxim and Array

    贪心,优先队列. 先看一下输入的数组乘积是正的还是负的. ①如果是负的,也就是接下来的操作肯定是让正的加大,负的减小.每次寻找一个绝对值最小的数操作就可以了. ②如果是正的,也是考虑绝对值,先操作绝对 ...

  3. jQuery 之玩转 checkbox

    <!DOCTYPE html> <html> <head> <title></title> <meta charset="u ...

  4. Web框架——Django笔记

    Web框架--Django笔记 MVC和MTV MVC:Model.View.Controller MTV:Model.Template.View Django--MTV 1.创建Django程序   ...

  5. svn 目录设置为 不提交 忽略

    svn 忽略  以下文件 和目录 (不提交) runningtime --选中 tortoiseSVN --unversion and add to ignore list web workspace ...

  6. Vue.js教程

    https://aotu.io/notes/2016/10/13/vue2/?o2src=juejin&o2layout=compat

  7. 记JavaScript的入门学习(三)

    2016.12.6晚上十点半完成JavaScript的第二章学习,看了点第三章的开头总述,都说原生js每一个知识点都可以分分钟钟让你放弃,而我在努力探索着.月末的时候就回家放假了,希望在家也可以有个小 ...

  8. Tiny6410之MMU开启

    存储管理单元存储管理单元MMU概述 在ARM系统中,存储管理单元MMU主要完成以下工作:1.虚拟存储空间到物理存储空间的映射.在ARM中采用页式虚拟存储管理.他把虚拟地址空间分成一个个固定大小的块,每 ...

  9. ECS活动真实IP (前端存在SLB)

    log_format main 'realip:$http_x_forwarded_for slbip:$remote_addr-$remote_user [$time_local] "$r ...

  10. 敏捷开发(九)- Scrum Sprint计划会议2

    本文主要是为了检测你对SCRUM Sprint 计划会议二的了解和使用程度, 通过本文你可以检测一下     1.你们的SCRUM Sprint 计划会议二的过程和步骤    2.SCRUM Spri ...