22 lines
380 B
Swift
22 lines
380 B
Swift
//
|
|
// Data+Extensions.swift
|
|
// PunyCocoa Swift
|
|
//
|
|
// Created by Nate Weaver on 2020-04-12.
|
|
//
|
|
|
|
import Foundation
|
|
import zlib
|
|
|
|
extension Data {
|
|
|
|
var crc32: UInt32 {
|
|
return self.withUnsafeBytes {
|
|
let buffer = $0.bindMemory(to: UInt8.self)
|
|
let initial = zlib.crc32(0, nil, 0)
|
|
return UInt32(zlib.crc32(initial, buffer.baseAddress, numericCast(buffer.count)))
|
|
}
|
|
}
|
|
|
|
}
|