NSString*aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding];
这里AES在iOS加过密以后以nsdata的形式存下来,如果想以nsstring形式存储,那么对nsdata进行base64位编码。
通常我们使用iOS的RSA加密或者解密时候,有如下几种情况(这里只讨论使用公钥加密的情况):
NSData-> NSString NSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding]; NSString->NSData NSString *aString = @"1234abcd"; NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding]; 2.NSData 与 Byte NSData-> Byte数组 N
在iOS app中连接蓝牙打印机打印商品小票,在没有电脑只有手机的情况下,感觉非常实用,而且最近经常最近公司正好也在做这个功能,所以就研究了下。这一篇主要讲一下打印机的一些命令,以便下一篇文章中使用。
本文主要记载了本文在以往工作中涉及到得加密方式记载以便以后使用:在以往的工作中我们iOS客户端的加密主要应用于接口参数传递安全、二维码信息加密、签名验证等等,不同的应用应该采用不同的加密方法比如支付宝RSA加密,公私钥匹配的模式,微信支付sha1和md5加密都是对于支付来说很安全的,具体
NSData* originData = [originStr dataUsingEncoding: NSASCIIStringEncoding];
在前面的文章中我有说过AES和RSA这两种加密方式,正好在前段时间再项目中有使用到,在这里再把这两种加密方式综合在一起写一下,具体到他们的使用,以及RSA各种加密文件的生成。
function dataURL2Audio(fname, base64Str, callback) { //base64转amr文件 var mv = base64Str || ''; if (typeof callback != 'function' || mv == '') return; fname = fname || ((new Date()).getTime()); fname = (fname.indexOf('.amr') == fname.length - 4)
allluckly.cn.jpg "APP的数据安全已经牵动着我们开发者的心,简单的MD5/Base64等已经难以满足当下的数据安全标准,本文简单的介绍下AES与Base64的混合加密与解密" AES:高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)
最近在完成一个需求时,遇到了NSData类型转换为十六进制的字符串这个需求的函数,在stackoverflow中翻找的时候,给出的答案基本上是如下的:
1.URL编码加密 对iOS app中出现的URL进行编码加密,防止URL被静态分析 2.本地数据加密 对NSUserDefaults,sqlite存储文件数据加密,保护iOS app的帐号和关键信息。 3.网络传输数据加密 对iOS app客户端传输数据提供加密方案,有效防止通过网络接口的拦截获取 4.方法体,方法名高级混淆 对iOS app的方法名和方法体进行混淆,保证源码被逆向后无法解析代码 5.程序结构混排加密 对iOS app逻辑结构进行打乱混排,保证源码可读性降到最低
Godzippa是iOS开发中常用的一个第三方数据压缩框架,其采用类别的方式,为NSData类与NSFileManager类提供了压缩和解压缩数据的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
1.常用功能使用 1)初始化 NSString *astring = @"This is a String!"; //固定字符串 NSString *str = [NSString stringWithFormat:@"asd%d%@",123,@"ttt"]; //拼组字符串 2)截取 NSString *str = [@"asd" substringFromIndex:1]; //从第几位开始截到
iOS RC4加密的实现,要注意加密后生成字符串的步骤,有些要求是base64加密后输出,有些要求是字节数组转16进制字符串输出,所以要特别注意。
App要与服务器交互才能达到数据更新和获取资源 那么: 服务器返回客户端的数据,一般返回两种格式:JSON格式、XML格式 (文件下载除外)
如今手机app五彩缤纷,确保手机用户的数据安全是开发人员必须掌握的技巧,下面通过实例介绍DES在android、ios、java平台的使用方法;
与SDWebImage异步加载网络图片的功能相似,只是代码比较简单,功能没有SD的完善与强大,支持缺省添加图片,支持本地缓存。
内省(Introspection)是面向对象语言和环境的一个强大特性,Objective-C和Cocoa在这个方面尤其的丰富。内省是对象揭示自己作为一个运行时对象的详细信息的一种能力。这些详细信息包括对象在继承树上的位置,对象是否遵循特定的协议,以及是否可以响应特定的消息。NSObject协议和类定义了很多内省方法,用于查询运行时信息,以便根据对象的特征进行识别。 明智地使用内省可以使面向对象的程序更加高效和强壮。它有助于避免错误地进行消息派发、错误地假设对象相等、以及类似的问
内省(Introspection)是面向对象语言和环境的一个强大特性,Objective-C和Cocoa在这个方面尤其的丰富。内省是对象揭示自己作为一个运行时对象的详细信息的一种能力。这些详细信息包括对象在继承树上的位置,对象是否遵循特定的协议,以及是否可以响应特定的消息。NSObject协议和类定义了很多内省方法,用于查询运行时信息,以便根据对象的特征进行识别。
通过添加这个开源库,笔者 80% 的调试工作都可以用这个库完成,而无需 Xcode 工具。
NSFileManager类可以管理文件系统中的文件和目录,也可以定位、判断是否存在、创建、拷贝、删除文件和目录,还可以获得文件和目录的信息;
线程间通讯 一、NSThread 1.简单说明 ①线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 ②线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任务后,转到另1个线程继续执行任务 ③线程间通信常用方法 // waitUntilDone的含义: // 如果传入的是YES: 那么会等到主线程中的方法执行完毕, 才会继续执行下面其他行的代码 // 如果传入的是NO: 那么不用等到主线程中的方法执行完毕, 就可以继续执行下面其他行的低吗 /*
这个过程大致是这个样子: 1 添加通知 2 发送网络请求 里边有一个发送通知的操作 3 执行发送通知的具体操作 代码如下: 1 在VC添加通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receivingYM1:)
OC提供了丰富的I/O相关API,如果只是管理文件和目录,程序可以使用NSFileManager进行管理,包括创建、删除、移动和复制文件等;如果程序需要读取文件内容,则可通过NSFileHandle进行处理;如果需要读取网络资源,则可通过NSURL进行处理;如果程序只是读取项目内部资源,则可借助MSBundle进行处理。 1、Foundation提供了NSData和NSMutableData,他们代表OC的数据缓冲区。NSData的作用有两个:将数据读入NSData;输出NSData的数据。 1 #i
1、使用imageNamed函数: [UIImage imageNamed:@"ImageName"];
以下是一个使用Reachability库和Objective-C编写的爬虫程序,用于爬取高音质的免费音频。通过get_proxy的代码示例完美抓取数据。
与后台交互,后台返回的数据一般是Json类型的,然而我们的定义的模型一般是继承自NSObject,Json与Model之间的转换,第三方工具也有很多,比如YYModel,JSONModel,MJExtention.
其实这个名字,会引起一定的歧义,光看名字,以为是一个普通的视图控制器,其实它并不继承自UIViewController类。
#import <MessageUI/MFMailComposeViewController.h>
2 对普通请求、返回数据,生成MD5校验(MD5中加入动态密钥),进行数据完整性(简单防篡改,安全性较低,优点:快速)校验。
HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code)。 HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。也就是说HMAC通过将哈希算法(SHA1, MD5)与密钥进行计算生成摘要。 Objectice-C 在上个 Objectice-C 项目中,使用的 HMAC 和 SHA1 进行加密。如下代码: + (NSString *)hmacsha1:(NSString *)text key:(NSString *)
问题 对视频进行压缩并输出 解决方案 /// 压缩视频文件 -(void)videoCompressionWithUrl:(NSURL *)url finish:(void(^)(NSURL * fileUrl))finishCallback { NSString *docuPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES
前言 前文iOS如何保证下载资源的可靠性介绍了基于RSA的下载资源验证方案,这次详细介绍开发过程中的问题。 iOS接入步骤 后台上传资源文件,配置平台对文件进行hash并用私钥进行签名得到签名串sig
import UIKit class ViewController: UIViewController ,NSXMLParserDelegate{ override func viewDidLoad() { super.viewDidLoad() //创建XMLParser对象,传入XML格式的数据文件 // var parser=NSXMLParser(contentsOfURL: NSURL(fileURLWithPath: NS
"用户资料自定义字段","好友自定义字段","群成员维度自定义字段","群维度自定义字段" 均已键值对 Key-Value 形式存储并使用。扩展相应的字段 Key,为相应的字段 Key 设置值 Value,这便是 IMSDK 字段的使用方式
NSData *condata = responseObject; //设置编码格式,这种编码格式可以正常读取中文 NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); NSString *rcontent = [[NSString alloc]initWithData:condata encoding:enc];
二进制流不能附加其他的参数 multipart/form-data形式可以附加其他参数
2014-08-10 17:19:46.795 TestNSData&NSDate[1214:303] 不可变的data1的字节是:<41204320 73747269 6e672100>
http://blog.csdn.net/qq_29846663/article/details/68961167
image.png 在iOS开发实际中,可以在 AppDelegate.m 的 didFinishLaunchingWithOptions方法中,快速定位需要当前需要开发的控制器 但是,如果要开发的控制器,需要之前的控制器传值怎么办呢? image.png ==> 解决办法 : 方法1:不设置rootVC = 当前开发控制器(TwoVC),默认使用homeVC,一步一步点击,似魔鬼的步伐一般进入TwoVC 方法2 :还是设置rootVC = 当前的开发控制器(TwoVC),同时,使用数据持久化保存,保存
#####研究目的 sceneKit里可以绘制几种几何模型,但那些不规律的形状如果不想使用模型,那么就要自己绘制了 #####demo效果 [1.gif] [Untitled.gif] #####原理和步骤 1.定义 模型的 顶点坐标 纹理坐标 法线 骨骼顶点 骨骼动画 等数据 2.调用以下方法画出模型 根据顶点坐标和模型类型画出模型,模型类型可以是点、线、三角形 为什么是三角形呢?因为三角形是最小边几何图形 + (instancetype)geometrySourceWi
在实际的项目开发中,数据持久化是我们必须要考虑的一个事情,如何把我们需要的数据进行持久化处理。
归档 基本概念 - 对象归档是指将对象写入文件保存在硬盘上,当再次重新打开程序时,可以还原这些对象。你也可以称他为对象序列化,对象持久化。 数据持久性的方式 NSKeyedArchiver --- 对象归档 NSUserDefaults 属性列表化(NSArray、NSDictionary保存文件) SQlite数据库、Core Data数据库 归档的形式 对Foundation库中对象进行归档 自定义对象进行归档(需要实现归档协议,NSCoding) 归档后的文件是加密的,属性列表是明文的。属性列表也不
如果将字典或数组直接存储在数据库中,会将数组或字典转化成字符串,所以可以使用归档与反归档的方法将数据进行编码和解码成二进制数据进行存储,而在数据库中需要使用blob类型存储二进制数据。
前言 背景: initQRCodeForInputByteSize cannot find proper rs block info (input data too big?) 之前的同事 误认为二维
#import "ViewController.h" @interface ViewController () @property(nonatomic,strong)UITextView *textView; @property(nonatomic,copy)NSString *BASE_URL; @property(nonatomic,copy)NSString *BASE_URL1_PARAM; @property(nonatomic,strong)NSMutableData *mutableData;
// 读取本地JSON文件 - (NSArray *)readLocalFileWithName:(NSDictionary *)name { // 获取文件路径 NSString *path = [[NSBundle mainBundle] pathForResource:name ofType:@"json"]; // 将文件数据化 // NSString * path = [NSString stringWithFormat:@"/Users/admin
领取专属 10元无门槛券
手把手带您无忧上云