swift MD5加密源码的实例详解
swift MD5加密源码的实例详解
因为MD5加密是不可逆的,所以一般只有MD5加密的算法,而没有MD5解密的算法。
创建一个Sting+MD5.Swift字符串分类文件(同时此处需要创建一个bridge.h桥接文件,引入这个头文件
#import <CommonCrypto/CommonDigest.h>,md5加密方法需要使用的文件)
1.bridge.h桥接文件如下:
#ifndef bridge_h #define bridge_h #import <CommonCrypto/CommonDigest.h> #endif /* bridge_h */
2. Sting+MD5.swift字符串分类文件如下
MD5加密算法如下
import Foundation extension String { var md5 : String{ let str = self.cString(using: String.Encoding.utf8) let strLen = CC_LONG(self.lengthOfBytes(using: String.Encoding.utf8)) let digestLen = Int(CC_MD5_DIGEST_LENGTH) let result = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity: digestLen) CC_MD5(str!, strLen, result) let hash = NSMutableString() for i in 0 ..< digestLen { hash.appendFormat("%02x", result[i]) } result.deinitialize() return String(format: hash as String) } }
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
swift where与匹配模式的实例详解
swift where与匹配模式的实例详解 前言: 在众多 Swift 提供给 Objective-C 程序员使用的新特性中,有个特性把自己伪装成一个无聊的老头,但是却在如何优雅的解决"鞭尸金字塔"的问题上有着巨大的潜力.很显然我所说的这个特性就是 switch 语句, 对于很多 Objective-C 程序员来说,除了用在 Duff's Device 上比较有趣之外,switch 语句非常笨拙,与多个 if 语句相比,它几乎没有任何优势. 1.基本使用 Swift中switch语句c
-
利用swift实现卡片横向滑动动画效果的方法示例
本文主要给大家介绍了关于利用swift实现卡片横向滑动动画效果的相关资料,分享出来供大家参考学习,下面来一起看看详细的介绍吧. 根据惯例,首先上效果图: 那天去面试,面试官突然拿出手机点开了一个app,自个在那点了一会,然后问我 这个效果怎么实现,当时一看可以滑动,肯定用scrollView 或者 collectionView实现,就大概的说了下.今天刚好闲下来,就敲一敲这个效果. 先来分析下这个效果: 卡片是横向滚动,并且每个卡片的位置都是保持在屏幕中间的,而且 左右相邻的卡片都露出来一点边
-
swift 3.0 正则表达式查找/替换字符的实现代码
1.什么是正则表达式 正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念. 正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串. 在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 2.正则表达式的字符组成 普通字符[a~z].特殊字符(称为"元字符") 3.支持 几乎所有的程序设计语言都支持正则表达式,例如:OC,swift,java,c#,
-
Swift学习教程之访问控制详解
前言 本文主要给大家介绍了关于Swift访问控制的相关内容,访问控制对访问你的其他代码源文件和模块部分进行了约束.这个特性允许你隐藏你的代码实现,并且指定通过其可以访问和使用该代码的优选接口. class,structure 和 enumeration 都可以指定访问级别,当然,property,method,initializer 和 属于这里类型的 subscript.protocol 可以限制到某个上下文,全局变量,变量和函数也可以. 另外,Swift 也提供默认的使用级别给典型的使用场景
-
iOS Swift开发之日历插件开发示例
本文介绍了iOS Swift开发之日历插件开发示例,分享给大家,具体如下: 效果图 0x01 如何获取目前日期 关于日期,苹果给出了 Date 类,初始化一个 Date 类 let date = Date() 打印出来就是当前系统的日期和时间 那么如何单独获得当前年份,月份呢? var date: [Int] = [] let calendar: Calendar = Calendar(identifier: .gregorian) var comps: DateComponents = Dat
-
swift MD5加密源码的实例详解
swift MD5加密源码的实例详解 因为MD5加密是不可逆的,所以一般只有MD5加密的算法,而没有MD5解密的算法. 创建一个Sting+MD5.Swift字符串分类文件(同时此处需要创建一个bridge.h桥接文件,引入这个头文件 #import <CommonCrypto/CommonDigest.h>,md5加密方法需要使用的文件) 1.bridge.h桥接文件如下: #ifndef bridge_h #define bridge_h #import <CommonCrypto/
-
Android 网络html源码查看器详解及实例
Android 网络html源码查看器详解及实例 IO字节流的数据传输了解 Handler的基本使用 1.作品展示 2.需要掌握的知识 FileInputStream,FIleOutputStream,BufferInputStream,BufferOutStream的读写使用与区别 //进行流的读写 byte[] buffer = new byte[1024 * 8]; //创建一个写到内存的字节数组输出流 ByteArrayOutputStream byteArrayOutputStream
-
vue从使用到源码实现教程详解
搭建环境 项目github地址 项目中涉及了json-server模拟get请求,用了vue-router: 关于Vue生命周期以及vue-router钩子函数详解 生命周期 1.0版本 1.哪些生命周期接口 init Created beforeCompile Compiled Ready Attatched Detached beforeDestory destoryed 2.执行顺序 1. 不具有keep-alive 进入: init->create->beforeCompile->
-
jdk源码阅读Collection详解
见过一句夸张的话,叫做"没有阅读过jdk源码的人不算学过java".从今天起开始精读源码.而适合精读的源码无非就是java.io,.util和.lang包下的类. 面试题中对于集合的考察还是比较多的,所以我就先从集合的源码开始看起. (一)首先是Collection接口. Collection是所有collection类的根接口;Collection继承了Iterable,即所有的Collection中的类都能使用foreach方法. /** * Collection是所有collec
-
Java struts2请求源码分析案例详解
Struts2是Struts社区和WebWork社区的共同成果,我们甚至可以说,Struts2是WebWork的升级版,他采用的正是WebWork的核心,所以,Struts2并不是一个不成熟的产品,相反,构建在WebWork基础之上的Struts2是一个运行稳定.性能优异.设计成熟的WEB框架. 我这里的struts2源码是从官网下载的一个最新的struts-2.3.15.1-src.zip,将其解压即可.里面的目录页文件非常的多,我们只需要定位到struts-2.3.15.1\src\core
-
Java使用AES加密和解密的实例详解
Java使用AES加密和解密的实例详解 前言: AES的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128.192.256,分组长度128位,算法应易于各种硬件和软件实现.1998年NIST开始AES第一轮分析.测试和征集,共产生了15个候选算法.1999年3月完成了第二轮AES2的分析.测试.2000年10月2日美国政府正式宣布选中比利时密码学家Joan Daemen 和 Vincent Rijmen 提出的一种密码算法RIJNDAEL 作为 AES. 在应用方面,尽管DES在安全上
-
python生成二维码的实例详解
python生成二维码的实例详解 版本相关 操作系统:Mac OS X EI Caption Python版本:2.7 IDE:Sublime Text 3 依赖库 Python生成二维码需要的依赖库为PIL和QRcode. 坑爹的是,百度了好久都没有找到PIL,不知道是什么时候改名了,还是其他原因,pillow就是传说中的PIL. 安装命令:sudo pip install pillow.sudo pip install qrcode 验证是否安装成功,使用命令from PIL import
-
C#中RSA加密与解密的实例详解
1. RSA加密与解密 -- 使用公钥加密.私钥解密 public class RSATool { public string Encrypt(string strText, string strPublicKey) { RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); rsa.FromXmlString(strPublicKey); byte[] byteText = Encoding.UTF8.GetBytes
-
开源数据库postgreSQL13在麒麟v10sp1源码安装过程详解
一.中标麒麟v10sp1在飞腾2000+系统安装略 二.系统依赖包安装 [root@ft2000db opt]# yum install bzip* [root@ft2000db opt]# nkvers ############## Kylin Linux Version ################# Release: Kylin Linux Advanced Server release V10 (Tercel) Kernel: 4.19.90-17.ky10.aarch64 Buil
随机推荐
- Seajs的学习笔记
- 用户名、密码等15个常用的js正则表达式
- Ruby中的p和puts的使用区别浅析
- angularJS+requireJS实现controller及directive的按需加载示例
- 初识angular框架后的所思所想
- Js实现简单的小球运动特效
- 详解php几行代码实现CSV格式文件输出
- php setcookie(name, value, expires, path, domain, secure) 参数详解
- android Gallery组件实现的iPhone图片滑动效果实例
- PHP 采集程序 常用函数
- MySQL适配器PyMySQL详解
- 简单的ASP分页代码(测试正确)第1/2页
- VC小技巧汇总之5则实用小技巧
- PHP学习笔记 用户注册模块用户类以及验证码类
- MYSQL跨服务器同步数据经验分享
- jQuery中的通配符选择器使用总结
- jQuery中unwrap()方法用法实例
- PHP json_encode中文乱码问题的解决办法
- PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
- android流式布局onLayout()方法详解