iOS MD5 (Swift3)
2024-09-02 21:57:01
import Foundation extension Int
{
func hexedString() -> String
{
return NSString(format:"%02x", self) as String
}
} extension NSData
{
func hexedString() -> String
{
var string = String()
let unsafePointer = bytes.assumingMemoryBound(to: UInt8.self)
for i in UnsafeBufferPointer<UInt8>(start:unsafePointer, count: length)
{
string += Int(i).hexedString()
}
return string
} func MD5() -> NSData
{
let result = NSMutableData(length: Int(CC_MD5_DIGEST_LENGTH))!
let unsafePointer = result.mutableBytes.assumingMemoryBound(to: UInt8.self)
CC_MD5(bytes, CC_LONG(length), UnsafeMutablePointer<UInt8>(unsafePointer))
return NSData(data: result as Data)
}
} extension String
{
func MD5() -> String
{
let data = (self as NSString).data(using: String.Encoding.utf8.rawValue)! as NSData
return data.MD5().hexedString()
}
}
转载请注明出处:http://www.cnblogs.com/ficow/p/7132289.html
最新文章
- JAVA程序中SQL语句无法传递中文参数
- Linux非root用户如何使用80端口启动程序
- eclipse maven web环境搭建
- Spring MVC 学习总结(四)——视图与综合示例
- 优秀的技术Leader
- unity3d 特殊文件夹和脚本编译顺序
- Android 反编译 -- apktool、dex2jar、jd-gui
- ArduinoYun的电源插座
- RS232与RS485时序分析
- 动态规划略有所得 数字三角形(POJ1163)
- Entity Framework相关介绍
- Codeforces 1088F(贪心+倍增)
- MongoDB系列----uupdate和数组
- 解决Jira和Confluence访问打开越来越缓慢问题
- 问题:虚拟环境名字相同遇到bug,please specify a different sdk name?
- vue过滤动画
- AAC音频格式详解
- 持续集成之Jenkins插件使用(一)- 多个job之间的串并联
- BZOJ 3224 Tyvj 1728 普通平衡树模板
- scrapy+selenium+chromedriver解析动态渲染页面