- 博客(104)
- 资源 (2)
- 收藏
- 关注
转载 AES五种加密模式(CBC、ECB、CTR、OCF、CFB)
分组密码有五种工作体制:1.电码本模式(Electronic Codebook Book (ECB));2.密码分组链接模式(Cipher Block Chaining (CBC));3.计算器模式(Counter (CTR));4.密码反馈模式(Cipher FeedBack (CFB));5.输出反馈模式(Output FeedBack (OFB))。以下逐一介绍一下:1.电码
2016-07-25 11:04:06 11986
转载 高级加密标准AES的工作模式(ECB、CBC、CFB、OFB)
最近在重构之前写的HTTP代理,这个代理是由代理客户端和代理服务端组成的,二者之前使用SSL保证通信内容不会受到中间人(MITM)攻击。而新的实现打算移除SSL,因为SSL握手的开销过大,尤其是客户端与服务端之间隔了个太平洋,另一方面本月中旬的时候Google安全团队证明了SSLv3已经是不安全的了,需要升级到TLS,但TLS同样有握手的开销。在新的实现中客户端和服务端之间的通信将使用AES加密,
2016-07-25 10:56:31 3864
原创 DES/3DES/AES区别
公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。 DES 1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DESData Encryption Standard) 。 目前在国内,随着三金工程
2016-07-25 10:25:23 635
原创 Mac OS上安装Tomcat服务器的简单步骤
一. 下载tomcat 首先要到tomcat官网去下载安装包,官网下载地址如下:http://tomcat.apache.org/download-70.cgi , 注意请下载飞windows版本。和windows操作系统不一样,这个里面没有令人厌烦的注册表。 将压缩包解压到任意一个目录,我这里是存放到/Library/tomcat 目录下面 二. 修改授权
2016-07-11 13:12:18 670
原创 Mac OS X下Maven的安装与配置
Mac OS X 安装Maven:下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile添加下列两行代码,之后保存并退出Vi: export M2_HOME=/Users/robbie/apache-
2016-07-01 15:52:48 1289
原创 MAC JDK版本切换
通过命令’jdk6′, ‘jdk7′,’jdk8′轻松切换到对应的Java版本:1.首先安装所有的JDk:* Mac自带了的JDK6,安装在目录:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/下。* JDK7,JDK8则需要自己到Oracle官网下载安装对应的版本。自己安装的JDK默认路径为:/Library/Java/Jav
2016-07-01 15:32:28 467
原创 Quartz2D简单使用(二)
一:绘制文字//// YXtextView.m// Quartz2D简单使用(二)//// Created by yeyuanxiang on 16/6/28.// Copyright © 2016年 KuYu. All rights reserved.//#import "YXtextView.h"@implementation YXtextView// O
2016-06-28 14:53:29 369
原创 Quartz2D简单使用(一)
//// YXlineview.m// Quartz2D简单使用(一)//// Created by yeyuanxiang on 16/6/28.// Copyright © 2016年 KuYu. All rights reserved.//#import "YXlineview.h"@implementation YXlineview// Only over
2016-06-28 11:07:53 492
原创 Quartz2D简单介绍
一、什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成PDF 截图\裁剪图片 自定义UI控件 二、Quartz2D在iOS开发中的价值
2016-06-28 10:37:38 386
原创 上传本地项目到github图文详解
一、注册github账号首先需要注册一个github账号,注册地址:https://github.com接着会来到这然后会收到一封github发的邮件,进入邮箱验证二、创建个人的github仓库 验证成功是这样的,然后点击创建仓库也
2016-06-21 11:05:37 372
原创 iOS中集成ijkplayer视频直播框架
ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集成ijkplayer, 即便以前从没有接触过, 按着下面做也可以集成成功!一. 下载ijkplayerijkplayer下载地址:https://github.com/Bilibili/ijk
2016-06-21 10:00:54 1159
原创 ios 学习之 NSPredicate 模糊、精确、查询
简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取。定义(最常用到的方法):[cpp] view plaincopyNSPredicate *ca = [NSPredicate predicateWithFormat:(NSString *), ...]
2016-06-20 16:49:25 345
转载 IOS自适应前段库-Masonry的使用
Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性,而且同时支持 iOS 和 Max OS X。Masonry是一个用代码写iOS或OS界面的库,可以代替Auto layout。Masonry的github地址:https://github.com/SnapKit/Masonry本章内容- Masonry配置-
2016-06-20 10:44:10 424
转载 阿帕奇apache服务器和webDav服务器快速配置
当自己在家敲代码需要发请求时,就可以配置本地apache,Mac电脑自带的服务器。这个比windows上的本地服务器还要好用,下面写下最快速配置方案。0.在开始之前需要给自己的电脑设置下开机密码,想开本地服务器这一点是必须的。一。本地apache服务器1.首先在自己的电脑昵称的文件夹下 建一个sites文件夹里面随便放上一些后台的假数据。 比如我的就是在/Users/dsx
2016-06-20 10:37:30 1582
原创 tableView三种计算动态行高方法
tableView是一个神奇的东西,可以这么说,就算是一个初学者如果能把tableView玩的很6,那编一般的iOS的需求都问题不大了。tableView是日常开发中用烂了的控件,但是关于tableView中的自定义cell的动态行高,还是有一些玄机的。笔者本次主要是因为预估行高的方法的问题作为了一个契机顺带写了此文对几种动态行高方法的分析。旧方法现在常规的动态行高的计算方法还是用
2016-06-20 10:30:21 784
原创 iOS使用Charles(青花瓷)抓包并篡改返回数据图文详解
charles又名青花瓷,在iOS开发中的抓包中具有重要作用。最大的三点用处,一就是拦截别人软件的发送的请求和后端接口,练习开发。二是自己后端返回的response拦截修改后再接收以达到测试临界数据的作用。三写脚本重复拦截抓取别人的数据。(因为不太道德,本文不提第三点)1.开始之前的准备工作首先安装一下这个软件这个相信很多人电脑里应该都安装了,没安装的搜charles破解版也能
2016-06-20 10:27:00 4582 3
转载 将自己写的库上传到cocoapods
2015年以前上传到cocoapods的方式相较于现在比较麻烦,现在用不上在此也就不提了。现在上传到cocoapods只需要简单的几步即可。1.首先你需要有一个自我感觉写的差不多的库。2.注册trunk1$sudo gem install cocoapods1
2016-06-20 10:25:06 469
转载 CentOS、Ubuntu、Debian三个linux比较异同
Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本。商业版本以Redhat为代表,开源社区版本则以debian为代表。这些版本各有不同的特点,在不同的应用领域发挥着不同的作用,不能一概而论。而绝大多数VPS上只提供开源社区维护的发行版本。下面就这些不同的Linux发行版进行简单的分析。UbuntuUbuntu近
2016-06-14 10:26:28 558
原创 Objective-C编程语言中nil、Nil、NULL、NSNull有什么区别
Objective-C语言学习过程中,初学者可能比较疑惑的就是nil、Nil、NULL、NSNull的区别这几者的区别,今天分享一些相关知识,分享给大家,一起来学习吧。 nil:指向Objective-C语言中对象的空指针,其定义值为(id)0。 Nil:指向Objective-C语言中类(Class)的空指针,其定义值为(Class)0。 NULL
2016-06-07 15:09:55 1551
原创 Swift-Realm简单使用,代替Sqlite、Crodata的强大数据库
1,什么是Realm Realm于2014 年7月发布,是一个跨平台的移动数据库引擎,专门为移动应用的数据持久化而生。其目的是要取代Core Data和SQLite。 2,关于Realm,你要知道下面几点: (1)使用简单,大部分常用的功能(比如插入、查询等)都可以用一行简单的代码轻松完成,学习成本低。 (2)Realm不是基于Core Data,也不是基于SQLite封装构
2016-06-06 16:29:16 1873
原创 iOS中 @synthesize 和 @dynamic
object-c 为了让Java的开发者习惯 使用.的操作,所以可以将接口类中的变量 使用@property来声明属性。但是在.h中声明的属性,必须在.m中使用@synthesize或者@dynamic来实现(在ios6中这不已经省了),否则属性不可用。熟悉object-c语法的都知道@synthesize实际的意义就是 自动生成属性的setter和getter方法。@dynami
2016-06-06 10:05:07 391
原创 ios开发中常用的几种辅助方法
//1.Keychain本地长期键值存储//删除+(void)deleteStringForKey:(NSString *)aKey{ NSMutableDictionary *query = [NSMutableDictionary dictionary]; [query setObject:(__bridge id)kSecClassGenericPassword for
2016-06-02 10:15:08 1088
转载 数据安全以及加密(详细解释)
1.数据安全01 攻城利器:Charles(公司中一般都使用该工具来抓包,并做网络测试)注意:Charles在使用中的乱码问题,可以显示包内容,然后打开info.plist文件,找到java目录下面的VMOptions,在后面添加一项:-Dfile.encoding=UTF-802 数据安全的原则 1)在网络上"不允许"传输用户隐私数据的"明文" 2.)在本地"不允许"保存
2016-06-02 10:10:01 4347 1
原创 iOS App上架流程
一、前言:作为一名iOS开发者,把开发出来的App上传到App Store是必须的。下面就来详细介绍一下具体流程。二、准备:一个已付费的开发者账号(账号类型分为个人(Individual)、公司(Company)、企业(Enterprise)、高校(University)四种类型,每年资费分别为$99、$99、$299、免费。)。一个已经开发完成的项目。三、检查:你的X
2016-06-02 10:03:07 1156
转载 WebKit的JS Binding解析
WebCore与JavaScriptCore之间使用了Proxy模式,WebCore为JSC提供了一层binding层做为封装。Webkit参照W3C Web IDL(之前称为Language Bindings for DOM Specifications)描述DOM接口,但不完全相同。其完整的名称为WebKitIDL, 详细的定义可以参考下面的链接: http:
2016-06-02 09:58:46 439
转载 使用Objective-C的+(void)initialize初始化static变量
在《Objective C类方法load和initialize的区别》一文中,我介绍了Objective-C对待+(void)initialize和+(void)load两个方法在编译和执行时出现的不同。而这些不同也是在使用时应该非常注意的地方。不过文章里面我没有讲这两个方法在Objective-C中究竟有什么实用价值。其实+(void)initialize可以视为C#,Java中的静态构
2016-06-02 09:47:45 523
转载 JavaScriptCore框架在iOS7中的对象交互和管理
之前一篇的文章中已经简单入门了iOS7中新加的JavaScriptCore框架的基本用法,十分的简单方便而且高效,不过也仅限于数值型、布尔型、字符串、数组等这些基础类型。本文将扩展到更复杂的类型,介绍一下该强大的框架是如何让Objective-C对象和JavaScript对象进行直接互通的。为了方便起见,以下所有代码中的JSContext对象都会添加如下的log方法和eventHandle
2016-06-02 09:45:21 289
转载 iOS7新JavaScriptCore框架入门介绍
前阵子,Apple正式发布了新的iOS 7系统,最大最直观的改变在于界面变得小清新范了,我也提到《iOS,你真的越来越像Android了》。不过对于移动开发者来说,除了要适应Xcode 5,最应该关注的还是iOS 7在开发接口的上的变化。概览Apple提供的官方文档《What’s New in iOS》,最最让我欣喜的是iOS 7中加入了JavaScriptCore框架。该框架让Objec
2016-06-02 09:44:31 486
转载 Hybrid App开发实战
【引言】近年来随着移动设备类型的变多,操作系统的变多,用户需求的增加,对于每个项目启动前,大家都会考虑到的成本,团队成员,技术成熟度,时间,项目需求等一堆的因素。因此,开发App的方案已经变得越来越多了。曾经有一段HTML5的小浪潮,无数的人参与或者看到过一个讨论:原生开发还是混合开发,又或者是Web开发?到底最佳实践是怎样的,笔者认为只有实践过的人才会知道。尤其是在这个充满各种变数的移动互联网时
2016-06-02 09:41:04 797
转载 Objective C类方法load和initialize的区别
Apple的文档很清楚地说明了initialize和load的区别在于:load是只要类所在文件被引用就会被调用,而initialize是在类或者其子类的第一个方法被调用前调用。所以如果类没有被引用进项目,就不会有load调用;但即使类文件被引用进来,但是没有使用,那么initialize也不会被调用。它们的相同点在于:方法只会被调用一次。(其实这是相对runtime来说的,后边会做进一步
2016-06-01 14:56:41 348
原创 JavaScript Core binding
//// SecondViewController.m// Js_And_Object_C//// Created by yeyuanxiang on 16/6/1.// Copyright © 2016年 KuYu_YX. All rights reserved.//#import "SecondViewController.h"#import #import "Pe
2016-06-01 14:47:37 405
转载 Objective-C Runtime基本概念(一)
Objective-C Runtime 是开源的Objective-C 是开源的,任何时候你都能从 http://opensource.apple.com. 获取。事实上查看 Objective-C 源码是我理解它是如何工作的第一种方式,在这个问题上要比读苹果的文档要好。你可以下载适合 Mac OS X 10.6.2 的 objc4-437.1.tar.gz。动态 vs
2016-05-31 14:55:04 325
原创 NSTimer导致误差的原因
//NSTimer导致误差的原因: /* 1、NSTimer加在main runloop中,模式是NSDefaultRunLoopMode,main负责所有主线程事件,例如UI界面的操作,复杂的运算,这样在同一个runloop中timer就会产生阻塞。 2、模式的改变。主线程的 RunLoop 里有两个预置的 Mode:kCFRunLoopDefa
2016-05-30 15:14:04 1134
原创 Xcode 7.3 自定义类无法自动联想的解决办法
点击顶部工程名 --> 左侧Target --> BuildSettings --> Apple LLVM 7.1 -Language-Objective C 下面的 Weak References in Manual Retain Release 设置为YES. 然后common+B编译运行一下就可以了
2016-05-30 14:34:52 790
原创 Swift - 属性观察者(willSet与didSet)
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"/* 属性观察者,类似于触发器。用来监视属性的除初始化之外的属性值变化,当属性值发生改变时可以对此作出响应。有如下特点: 1,不仅可以在属性值改变后触发didSet,也可以在属性值改变前触发will
2016-05-27 15:19:08 522
原创 Swift - 类初始化和反初始化方法
//: Playground - noun: a place where people can playimport UIKit//init():类的初始化方法(构造方法)//使用默认构造函数class Student { //类属性 var name: String = "" ; var number: Int = 0 ; }va
2016-05-27 15:03:14 976
原创 UIWebView加载本地html
初始化控件UIWebView第一步:在文件目录NSString *path = [[NSBundlemainBundle] pathForResource:@"main"ofType:@"html"];方式一:从html文件中读取html字符串NSFileHandle *readHandle = [NSFileHandle fileHandleForRead
2016-05-27 14:41:45 377
原创 iOS9 HTTP 不能正常使用的解决办法
Google后查证,iOS9引入了新特性App Transport Security (ATS)。详情:App Transport Security (ATS)新特性要求App内访问的网络必须使用HTTPS协议。但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输。最终找到以下解决办法:1.在Info.plist
2016-05-27 13:55:25 301
原创 React Native iOS环境搭建
1. 安装Homebrew Homebrew主要用于安装后面需要安装的watchman、flow 打开MAC的终端,输入如下命令: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2. 安装nvm和nodejs nvm是用于nodejs版本
2016-05-26 14:21:06 559
原创 ReactiveCocoa之RAC内存管理(十二)
在一开始接触RAC的时候,我们知道RAC对于block都是copy赋值的。@implementation RACSignal#pragma mark Lifecycle+ (RACSignal *)createSignal:(RACDisposable * (^)(id subscriber))didSubscribe { return [RACDynamicSignal
2016-05-23 17:09:13 3330
Swift4.0 官方版本
2017-09-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人