base64加密解密文件
1 //字符串加密
-(void)demo1 {
//普通的 8 bit二进制数据
NSString *str = @"hello world!";
//将字符串转换成二进制数据
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; //base64 加密后的二进制数据
NSData *base64Data = [data base64EncodedDataWithOptions:];
//base64 加密后的字符串
NSString *base64String = [data base64EncodedStringWithOptions:]; [data writeToFile:@"/Users/zhufeng/Desktop/data" atomically:YES];
[base64Data writeToFile:@"/Users/zhufeng/Desktop/base64Data" atomically:YES];
// [base64String writeToFile:@"/Users/zhufeng/Desktop/base64String" atomically:YES];
//输出
NSLog(@"data : %@",data);
NSLog(@"base64Data : %@",base64Data);
NSLog(@"base64String : %@",base64String);
} //加密文件信息
-(void)demo2 {
//1.得到文件的二进制数据
NSData *data = [NSData dataWithContentsOfFile:@"/Users/zhufeng/Desktop/wode.jpg"]; //2.将得到的文件二进制数据进行 base64加密
NSData *base64Data = [data base64EncodedDataWithOptions:]; //3.存储加密之后的数据
[base64Data writeToFile:@"/Users/zhufeng/Desktop/wodezhaopian" atomically:YES];
} //解密文件信息
-(void)demo3 {
//1.获取base64加密的二进制数据
NSData *base64Data = [NSData dataWithContentsOfFile:@"/Users/zhufeng/Desktop/wodezhaopian"]; //2.将 base64 加密的二进制数据转换成普通二进制数据
NSData *data = [[NSData alloc] initWithBase64EncodedData:base64Data options:]; //3.存储 解密后的文件
[data writeToFile:@"/Users/zhufeng/Desktop/我的解密照片.gif" atomically:YES];
} //影片加密
-(void)demo4 {
//1.得到文件的二进制数据
NSData *data = [NSData dataWithContentsOfFile:@"/Users/zhufeng/Desktop/X游记之D圣归来.Monkey.King.Hero.is.Back.mp4"]; //2.将得到的文件二进制数据进行 base64加密
NSData *base64Data = [data base64EncodedDataWithOptions:]; //3.存储加密之后的数据
[base64Data writeToFile:@"/Users/zhufeng/Desktop/X游记之D圣归来.mp4" atomically:YES];
}
//影片解密
-(void)demo5 {
//1.获取加密后的base64文件的二进制数据
NSData *base64Data = [NSData dataWithContentsOfFile:@"/Users/zhufeng/Desktop/X游记之D圣归来.mp4"]; //2.将 base64 加密的文件转换成普通的二进制文件
NSData *data = [[NSData alloc] initWithBase64EncodedData:base64Data options:]; //3.存储解密后的文件
[data writeToFile:@"/Users/zhufeng/Desktop/X游记之D圣归来 解密.mp4" atomically:YES]; }
base64加密解密文件的更多相关文章
- django删除表重建&修改用户密码&base64加密解密字符串&ps aux参数说明&各种Error例子
1.django的queryset不支持负索引 AssertionError: Negative indexing is not supported. 2.django向前端JavaScript传递列 ...
- JS实现base64加密解密
JS实现base64加密解密 转载自http://blog.csdn.net/fengzheng0306/archive/2006/04/25/676055.aspx 方法一: <HTML> ...
- 【代码笔记】iOS-3DES+Base64加密解密
一,工程目录. 二,代码. RootViewController.m #import "RootViewController.h" #import "NSString+T ...
- 实现Base64加密解密
using System; using System.Text; namespace Common { /// <summary> /// 实现Base64加密解密 /// </ ...
- Java中使用BASE64加密&解密
package com.bao.tools.encryption; import java.io.IOException; import org.junit.Test; import sun.misc ...
- Base64加密解密原理以及代码实现(VC++)
Base64加密解密原理以及代码实现 转自:http://blog.csdn.net/jacky_dai/article/details/4698461 1. Base64使用A--Z,a--z,0- ...
- Java Base64 加密解密
使用JDK的类 BASE64Decoder BASE64Encoder package test; import sun.misc.BASE64Decoder; import sun.misc.BA ...
- php使用base64加密解密图片
php使用base64加密解密图片的实例代码. 例子: <?php //文件名:base64.php $data="/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAB ...
- Base64加密解密
/// <summary> /// 实现Base64加密解密 /// </summary> public sealed class Base64 { /// <summa ...
随机推荐
- 【HDOJ】3367 Pseudoforest
并查集. #include <cstdio> #include <cstring> #include <cstdlib> #define MAXN 10005 #d ...
- 关于在C#中数组(byte[])复制方式
{ int[] src = new[] { 1, 2, 3, 4, 5, 6 }; const int destLen = 4;//目标数组大小 ...
- JQuery中trim函数的具体实现代码
由于Javascript 1.8.1 之前的版本,没有内置 trim 函数,所以 JQuery 对它有自己的实现.不同的JQuery版本,trim函数的实现也不尽相同. 阅读本文需要掌握正则表达式用法 ...
- [LeetCode] Distinct Subsequences 解题思路
Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequence ...
- 青云QingCloud业内率先支持云端全面透明代理功能 | SDNLAB | 专注网络创新技术
青云QingCloud业内率先支持云端全面透明代理功能 | SDNLAB | 专注网络创新技术 青云QingCloud业内率先支持云端全面透明代理功能
- Spark SQL编程指南(Python)
前言 Spark SQL允许我们在Spark环境中使用SQL或者Hive SQL执行关系型查询.它的核心是一个特殊类型的Spark RDD:SchemaRDD. SchemaRDD类似于传统关 ...
- Java日志记录的5条规则
日志记录是在软件开发过程中常常需要考虑的关键因素. 当产品运行出错时,日志文件通常是我们进行错误分析的首要选择. 而且,在很多情况下,它们是我们手上唯一可以用来查明发生状况和问题根本原因的信息. 可见 ...
- Google财经
本博文的主要内容有 .Google财经的介绍 .市场 .新闻 .投资组合新闻 .投资组合 1.Google财经的介绍 https://zh.wikipedia.org/wiki/Goog ...
- Apple Pay强势来袭,开发者应做的事情
"iOS8.1就已经有这个功能了,只是木有现在这么的火,现在的趋势是要火的节奏,因此很多电商平台B2B,P2P,C2C,X2X都有可能需要这个屌丝的付款功能了,在此简单的研究一下." ...
- c++ timer基于win消息队列
能够承载10w个timer通信执行,说关闭就关闭,里面用了一个比較巧妙的线程处理,呵呵10W个timer就10多个线程,请大牛不要笑话,供新手学习之用 #pragma once #include &l ...