#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. 简述java程序中的main方法

    简述main方法: 在java语言程序编写时都会涉及到一个main方法,它的格式为: public static void main(String[] args)(一般必须这么定义,这是java规范) ...

  2. D3.js:饼状图的制作

    假设有如下数据需要可视化: var dataset = [ 30 , 10 , 43 , 55 , 13 ]; 这样的值是不能直接绘图的.例如绘制饼状图的一个部分,需要知道一段弧的起始角度和终止角度, ...

  3. H5自带表单验证

    HTML5自带的表单验证 转载:https://www.web-tinker.com/article/20781.html HTML5对表单元素提供了patern属性,它接受一个正则表达式.表单提交时 ...

  4. 【LeetCode】23. Merge k Sorted Lists

    合并k个已合并链表. 思路:先把链表两两合并,直到合并至只有一个链表 /** * Definition for singly-linked list. * struct ListNode { * in ...

  5. release management客户端无法连接到release management server的问题解决

    参考:http://myalmblog.com/2014/03/error-installing-release-management-client/ 装了服务器,装客户端.然后客户端连不上服务器. ...

  6. Linked List - leetcode

    138. Copy List with Random Pointer //不从head走 前面加一个dummy node 从dummy走先连head 只需记录当前节点 //这样就不需要考虑是先new ...

  7. 关于VS2010编译警告LNK4221

    最近研究duilib,准备把里面自定义的一些工具类如CDuiString什么的用ATL的替换掉,于是遇到久仰大名的  warning C4251: xxx  needs to have dll-int ...

  8. StringBuilder跟StringBuffer

    一直以来只知道StringBuffer是线程安全的,StringBuilder是线程不安全的, 所以通常情况下使用StringBuilder,这样可以提升效率!!! 今天由于想起StringBuild ...

  9. Linux中一些简单命令(一)

    1.查看当前用户:who 2.显示当前目录:pwd 3.查看当前服务器的时间:date 4.查看日历:cal+year; 例如:cal 2016 5.计算器:bc  退出计算器:quit或者ctrl+ ...

  10. Unity3DGUI:鼠标click

    Input函数监测鼠标操作 鼠标点击事件 鼠标双击事件