自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Swift_查找字符串中数字范围

@TOCfunc findNumberRanges(string: String) -> [NSRange]{ let nsString = string as NSString let regex = try? NSRegularExpression(pattern: "[0-9]+", options: []) let matches = regex?.matches(in: string, options: .withoutAnchoringBounds, range: NSMakeRange(

2022-03-22 23:10:55 517

原创 解决实例之间的循环强引用

Swift 提供了两种办法用来解决你在使用类的属性时所遇到的循环强引用问题:弱引用(weakreference)和无主引用(unownedreference)。弱引用和无主引用允许循环引用中的一个实例引用另外一个实例而不保持强引用。这样实例能够互相引用而不产生循环强引用。对于生命周期中会变为nil的实例使用弱引用。相反,对于初始化赋值后再也不会被赋值为nil的实例,使用无主引用。在实例的生命周期中,当引用可能“没有值”的时候,就使用弱引用来避免循环引用。如同在无主引用中描述的那样...

2021-03-16 21:01:37 175

原创 openssl - BIO相关函数

OpenSSL使用BIO的概念,它是一种输入/输出抽象,允许我们以类似的方式使用来自文件,内存或网络的数据。BIO_read(), BIO_write(), SSL_read(), SSL_write()函数和你使用的BIO对象说明。SSL_read()read unencrypted data which is stored in the input BIO. SSL_write()write unencrypted data into the output BIO. BIO_write(..

2021-03-15 16:23:11 855

原创 Swift Package Manager

spm

2021-03-04 11:29:31 153 1

原创 Cocoapods

Vim Podfileplatform:ios,'8.0'target'project name'do pod'Alamofire','~> 5.4.1'endpod installpod search Alamofire

2021-03-04 11:28:29 107 1

原创 parse p12 to x509

FILE *fp; PKCS12 *p12 = NULL; unsigned char buf[10000],*p; char pass[100]; EVP_PKEY *pkey = NULL; X509 *cert = NULL; int len,ret; STACK_OF(X509) *ca=NULL; BIO *bp; fp = fopen(".../client-cert.pem","rb...

2021-02-26 10:46:12 131

原创 TLS协议 - Introduction

https://tools.ietf.org/html/rfc5246#page-1

2021-02-26 10:39:29 102

原创 openssl - The Cipher Suite 密码套件

在消息传输过程中采用对称加密(比公钥加密在速度上有极大的提高),其所用秘钥(shared secret)在握手过程中中协商(每次对话过程均不同, 在一次对话中都有可能有几次改变),并通过公钥加密的手段由客户端提交服务端.int SSL_set_cipher_list(SSL *s, const char *str);str格式设置为“ECDHE-RSA-AES128-SHA256”int SSL_CTX_set_ciphersuites(SSL_CTX *ctx, const char ..

2021-02-26 10:00:08 1292

原创 openssl 第一章 基础知识

1. 对称算法2. 摘要算法3.公钥算法4. 回调函数

2021-02-25 09:47:47 75

原创 X509 PKCS7 PKCS12

p12 里面包含证书和私钥pem 里面也可以包含证书和私钥只是格式(p12是二进制, pem是Ascii)不同, 本质是一样的https://blog.csdn.net/caomiao2006/article/details/23677565x509,公钥证书,只有公钥。PKCS7,签名或加密。可以往里面塞x509,同时没有签名或加密内容。PKCS12,含有私钥,同时可以有公钥,有口令保护。...

2021-02-24 14:25:30 825

原创 数字信封

数字信封用对方的公钥加密对称密钥,数据则用此对称密钥加密。发送给对方时,同时发送对称密钥密文和数据密文。接收方首先用自己的私钥解密密钥密文,得到对称密钥,然后用它解密数据。...

2021-02-24 14:22:00 152

原创 数据压缩

数据压缩是将原有数据通过某种压缩算法计算得到相对数据量小的过程。这种过程是可逆的,即能通过压缩后的数据恢复出原数据。数据压缩能够节省存储空间,减轻网络负载。在即需要加密又需要压缩的情况下,必须先压缩再加密,次序不能颠倒。因为加密后的数据是一个无序的数据,对它进行数据压缩,效果不大。SSL协议本身支持压缩算法,Openssl实现也支持压缩算法。它实现了一个空的压缩算法(crypto/comp/c_rle.c)并支持zlib压缩算法(crypto/comp/ c_zlib.c)。openssl中用户可实

2021-02-24 10:47:06 1938

原创 Swift - 单例

static let xxx = sharedInstance()

2021-02-24 10:07:29 112

原创 BASE64编解码原理

将数据编码成BASE64编码时,以3字节数据为一组,转换为24bit的二进制数,将24bit的二进制数分成四组,每组6bit。对于每一组,得到一个数字:0-63。然后根据这个数字查表即得到结果。Value Encoding Value Encoding Value Encoding Value Encoding0 A 17 R 34 i 51 z 1 B 18 S...

2021-02-24 10:05:54 130

原创 MVVM

mvvmmodel view viewmodel

2021-02-24 07:38:41 60

原创 MVC

MVC( 业务模型-视图-控制器,Model-View-Controller), 是iOS开发中频繁使用的一种设计模式,其含义是,应用创建的任何一个对象,其类型必定是模型对象、视图对象或控制器对象。视图对象:用户可以看见的对象。模型对象:负责存储数据,获取数据,上传数据,与用户界面无关。控制器对象:扮演“管家”的角色,它用于控制视图对象为用户呈现的内容,以及负责确保视图对象和模型对象的数据保持一致。模型对象和视图对象之间没有直接产生联系,而是由控制器负责彼此间的消息发送和数据传递。...

2021-02-24 07:37:49 59

原创 uint16_t数据转换成uint8_t数组

2021-02-07 11:22:26 3271

原创 alias命令

为了方便在终端打包xcframework,因为脚本比较长,为了避免每次都要复制一大串的脚本, 因此通过alias命令在终端设置别名, 果然很方便.vim ~/.zshrcalias buildxxx='要设置别名的脚本'source ~/.zshrchttps://www.jianshu.com/p/633a30e5d777...

2021-02-01 14:19:27 382

原创 Cocoapods 安装

本文参考https://www.cnblogs.com/sdx-highlight/p/13045226.html最近安装cocoapods, 通过终端普通用户下死活也安装不上, 非得切换到root下才行。sudo -isudo gem install cocoapods

2021-01-22 11:33:04 92

原创 xcframework

本文参考:https://blog.csdn.net/weixin_26735419/article/details/108898995https://developer.apple.com/forums/thread/125646https://help.apple.com/xcode/mac/11.4/#/dev544efab96最近通过 xcode 脚本打出来的 framework 死活不能兼容模拟器和真机, 结果一查是xcode升级了,现在需要打包成.xcframework格式的文件

2021-01-21 10:33:44 589

原创 zsh: command not found

zsh: command not found1. 通过如下两条命令中的其中一条在终端设置临时变量export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/binexport PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"2. 通过vi ~/.bash_profile打开环境变量配置页,并把上面命令行其中之一配置就可以了, 我用的是export PATH="/usr/local/bin:/u

2021-01-21 09:55:23 172

原创 网络协议-开篇词

因为本科专业为电子信息工程,没有正儿八经上过网络协议的课程,心里总觉得有点不踏实,面试也没底,所以买了一个关于网络协议的课程大概也有一年了,哦吼,买完就吃灰,就像平时收藏博客收藏完就不管了一样,想想毕竟也是花了点碎银子的,课程质量不会太差,还是通过这门课程系统性学习一下网络协议,省得东看一篇博客西看一篇博客不成体系,也可以减少一些碎片阅读。网络协议00 - 开篇词学习困惑网络协议知识点太多,学完记不住。看上去懂了,但是经不住问。知识学会了,实际应用依旧不会。总结为:一看觉得懂,一问就打鼓,一

2020-12-22 00:06:50 195

原创 对称算法

openssl学习笔记对称算法对称算法主要有四种加密模式:对称算法对称算法使用一个密钥。https://www.openssl.net.cn/docs/1.html对称算法主要有四种加密模式:电子密码本模式 Electronic Code Book(ECB)它将加密的数据分成若干组,每组的大小跟加密密钥长度相同,然后每组都用相同的密钥进行加密。加密块链模式 Cipher Block Chaining(CBC)首先也是将明文分成固定长度的块,然后将前面一个加密块输出的密文与下一个要

2020-12-04 14:00:26 1138

原创 碎片化信息时代系统性学习

当今是个信息爆炸的时代,信息平台各自为政,各占山头,工众号,weibo,csdm,投条,破站…随处可见,数都数不尽,信息碎片化实在严重,信息质量也参差不齐,时间精力稍不留神就被分神,似乎技术博客也看过无数,过几天就跟没看过一样,有点痛苦,如何防止被信息pua,是一件必须认真严肃思考的事,以下是我已经实施或计划实施的策略:关掉所有信息平台的推送,不要来烦我,让我按需去揾你尽量不关注平台上的博主,只关注几个感兴趣的即可热搜一边去,让我主动去搜我想要的信息新知识学习尽量睇官方文档或书本,再结合搜索到的信

2020-07-18 14:31:25 257

原创 Vim

五种模式:正常模式命令模式插入模式Visual ModeReplace Modehttps://webhostingprof.com/vim-text-editor/

2020-07-18 09:06:21 464 1

原创 敏捷软件开发宣言

贴上中英文对照,以下内容参考:http://agilemanifesto.org/iso/zhchs/manifesto.htmlhttp://agilemanifesto.org/iso/en/manifesto.html敏捷软件开发宣言我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人。由此我们建立了如下价值观:个体和互动 高于 流程和工具工作的软件 高于 详尽的文档客户合作 高于 合同谈判响应变化 高于 遵循计划也就是说,尽管右项有其价值,我们更重视左项的价值。M

2020-07-18 07:55:32 486

原创 Swift_01 The Basics (1)

1. 常量和变量1.1 声明常量和变量let maximumNumberOfLoginAttempts = 10var currentLoginAttempt = 0var x = 0.0, y = 0.0, z = 0.01.2 类型标注var welcomeMessage: StringwelcomeMessage = "Hello"var red, green, blue: Double1.3 常量和变量命名let π = 3.14159let 你好 = ".

2020-07-16 21:58:10 96

原创 鱼骨图

Fish bone

2020-07-15 19:07:47 982

原创 燃尽图

Buring Curve

2020-07-15 19:07:08 124

原创 PDCA

plan - do - check - action

2020-07-15 19:05:02 182

原创 敏捷开发 Agile

What is Agile?

2020-07-15 17:25:25 235

原创 Objective-C_00 Overview

1. About Objective-CObjective-C is the primary programming language you use when writing software for iOS and MacOS. It's a superset of the C programming language and provides objective oriented capabilities and a dynamic runtime.2. At a Glance2.1 An

2020-07-15 16:21:49 162

原创 Swift_00 Welcome to Swift

let data = 1var data = 2

2020-07-14 19:04:34 151

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除