v1.1.2
FNV (Fowler/Noll/Vo) hash framework in Swift.A framework includes FNV-0(32/64bit), FNV-1(32/64bit), FNV-1a(32/64bit) functions.
Original FNV algorithm created by Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo.
use_frameworks! target 'target' do pod 'FNV' end
github "daisuke-t-jp/FNV"
import FNV
/** * 32 bit */ let digest = FNV.FNV0_32.digest("Hello World!") // digest -> 0x6990d79d let digestHex = FNV.FNV0_32.digestHex("Hello World!") // digestHex -> "6990d79d" /** * 64bit */ let digest = FNV.FNV0_64.digest("Hello World!") // digest -> 0xdd8b4a711cd6199d let digestHex = FNV.FNV0_64.digestHex("Hello World!") // digestHex -> "dd8b4a711cd6199d"
/** * 32 bit */ let digest = FNV.FNV1_32.digest("Hello World!") // digest -> 0x12a9a41c let digestHex = FNV.FNV1_32.digestHex("Hello World!") // digestHex -> "12a9a41c" /** * 64bit */ let digest = FNV.FNV1_64.digest("Hello World!") // digest -> 0x8e59dd02f68c387c let digestHex = FNV.FNV1_64.digestHex("Hello World!") // digestHex -> "8e59dd02f68c387c"
/** * 32 bit */ let digest = FNV.FNV1a_32.digest("Hello World!") // digest -> 0xb1ea4872 let digestHex = FNV.FNV1a_32.digestHex("Hello World!") // digestHex -> "b1ea4872" /** * 64bit */ let digest = FNV.FNV1a_64.digest("Hello World!") // digest -> 0x8c0ec8d1fb9e6e32 let digestHex = FNV.FNV1a_64.digestHex("Hello World!") // digestHex -> "8c0ec8d1fb9e6e32"
/** * 32 bit */ let fnv = FNV.FNV0_32() fnv.update("Hello ") fnv.update("World!") let digest = fnv.digest() // digest -> 0x6990d79d let digestHex = fnv.digestHex() // digestHex -> "6990d79d" /** * 64bit */ let fnv = FNV.FNV0_64() fnv.update("Hello ") fnv.update("World!") let digest = fnv.digest() // digest -> 0xdd8b4a711cd6199d let digestHex = fnv.digestHex() // digestHex -> "dd8b4a711cd6199d"
/** * 32 bit */ let fnv = FNV.FNV1_32() fnv.update("Hello ") fnv.update("World!") let digest = fnv.digest() // digest -> 0x12a9a41c let digestHex = fnv.digestHex() // digestHex -> "12a9a41c" /** * 64bit */ let fnv = FNV.FNV1_64() fnv.update("Hello ") fnv.update("World!") let digest = fnv.digest() // digest -> 0x8e59dd02f68c387c let digestHex = fnv.digestHex() // digestHex -> "8e59dd02f68c387c"
/** * 32 bit */ let fnv = FNV.FNV1a_32() fnv.update("Hello ") fnv.update("World!") let digest = fnv.digest() // digest -> 0xb1ea4872 let digestHex = fnv.digestHex() // digestHex -> "b1ea4872" /** * 64bit */ let fnv = FNV.FNV1a_64() fnv.update("Hello ") fnv.update("World!") let digest = fnv.digest() // digest -> 0x8c0ec8d1fb9e6e32 let digestHex = fnv.digestHex() // digestHex -> "8c0ec8d1fb9e6e32"
There are demos.
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
Introduction
FNV (Fowler/Noll/Vo) hash framework in Swift.
A framework includes FNV-0(32/64bit), FNV-1(32/64bit), FNV-1a(32/64bit) functions.
Original FNV algorithm created by Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo.
Requirements
Installation
CocoaPods
Carthage
github "daisuke-t-jp/FNV"
Usage
Import framework
Generate digest(One-shot)
FNV-0
FNV-1
FNV-1a
Generate digest(Streaming)
FNV-0
FNV-1
FNV-1a
Demo
There are demos.