#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. Debian 8 安装BtSync

    声明,此方法是Btsync的官网resilio提供的方法 传送门:https://help.getsync.com/hc/en-us/articles/206178924 第一,在如下文件中添加: 1 ...

  2. ACM第三题 完美立方

    形如a3= b3 + c3 + d3的等式被称为完美立方等式.例如123= 63 + 83 + 103 .编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得 ...

  3. 【C#】Send data between applications

    This sample shows how to send data between different applications, including object data——transform ...

  4. public static void speckOnWin7(string text),在win7中读文字

    public static void speckOnWin7(string text) {    //洪丰写的,转载请注明 try { string lsSource = ""; ...

  5. 常用的 css 样式 记录

    1.font-style 属性指定文本的字体样式. 对应的值有: normal 默认值.浏览器显示一个标准的字体样式;  italic 浏览器会显示一个斜体的字体样式;  oblique  浏览器会显 ...

  6. 安装Genymotion与集成eclipse,最后有集成android studio

    本安装过程从不用到VPN 一切国内网络都可以解决. 首先下载Genymotion,网址  https://www.genymotion.com/account/login/ 首先需要注册,我使用163 ...

  7. Android抽屉效果 DrawerLayout 入门经验总结

    今天试了试这个抽屉布局的效果,结果很崩溃无语 网上很多资料都千篇一律,感觉都有问题,下面总结下几点经验: 先上个效果图: 1.  layout 布局文件中怎么写: <android.suppor ...

  8. AsyncHttpClient 中的重定向和 setEnableRedirects 方法异常解决

    今天使用 AsyncHttpClient  开源库,遇到个很崩溃的问题: 方法  setEnableRedirects(false); 从名称上看应该是重定向开关的方法,设置为 false 后则普通请 ...

  9. IIS 支持 ajax 跨域

    第一,首先要浏览器支持. Firefox和Chrome都支持了. IE10 也支持. IE8,9 需要使用其他方式才能支持 第二, 加上HTTP header. IIS 7 的方式比较容易. 就在we ...

  10. 基于html5 canvas 的强大图表插件【Chart.js】

    名词解释 Chart.js:是基于html5和canvas的强大图表插件,支持多样的图表形式,柱状线性饼环极地雷达等等: canvas:只兼容到IE9 excanvas.js:强大的第三方兼容插件,可 ...