All Projects → zowens → crc32c

zowens / crc32c

Licence: other
Fast CRC-32-Castagnoli implementation in Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to crc32c

Rollinghashcpp
Rolling Hash C++ Library
Stars: ✭ 141 (+442.31%)
Mutual labels:  hashing
Caffe Deepbinarycode
Supervised Semantics-preserving Deep Hashing (TPAMI18)
Stars: ✭ 206 (+692.31%)
Mutual labels:  hashing
Data-Structure-Algorithm-Programs
This Repo consists of Data structures and Algorithms
Stars: ✭ 464 (+1684.62%)
Mutual labels:  hashing
Dagon
Advanced Hash Manipulation
Stars: ✭ 155 (+496.15%)
Mutual labels:  hashing
Hashnet
Code release for "HashNet: Deep Learning to Hash by Continuation" (ICCV 2017)
Stars: ✭ 192 (+638.46%)
Mutual labels:  hashing
Damiengkit
Useful utility classes and helpers from DamienG.com
Stars: ✭ 221 (+750%)
Mutual labels:  hashing
Hash Embeddings
PyTorch implementation of Hash Embeddings (NIPS 2017). Submission to the NIPS Implementation Challenge.
Stars: ✭ 126 (+384.62%)
Mutual labels:  hashing
Awesome-Rust-MachineLearning
This repository is a list of machine learning libraries written in Rust. It's a compilation of GitHub repositories, blogs, books, movies, discussions, papers, etc. 🦀
Stars: ✭ 1,110 (+4169.23%)
Mutual labels:  rust-library
Util
A collection of useful utility functions
Stars: ✭ 201 (+673.08%)
Mutual labels:  hashing
Argon2 Jvm
Argon2 Binding for the JVM
Stars: ✭ 245 (+842.31%)
Mutual labels:  hashing
Cyberchef
The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis
Stars: ✭ 13,674 (+52492.31%)
Mutual labels:  hashing
Shokoserver
Repository for Shoko Server.
Stars: ✭ 184 (+607.69%)
Mutual labels:  hashing
Libdict
C library of key-value data structures.
Stars: ✭ 234 (+800%)
Mutual labels:  hashing
Auth Adt
Authenticated Data Structures Generically
Stars: ✭ 150 (+476.92%)
Mutual labels:  hashing
hidapi-rs
Rust bindings for the hidapi C library
Stars: ✭ 103 (+296.15%)
Mutual labels:  rust-library
Sketchy
Sketching Algorithms for Clojure (bloom filter, min-hash, hyper-loglog, count-min sketch)
Stars: ✭ 138 (+430.77%)
Mutual labels:  hashing
Clhash
C library implementing the ridiculously fast CLHash hashing function
Stars: ✭ 220 (+746.15%)
Mutual labels:  hashing
arangors
Easy to use rust driver for arangoDB
Stars: ✭ 120 (+361.54%)
Mutual labels:  rust-library
i2p-rs
Rust client library for interacting with I2P
Stars: ✭ 62 (+138.46%)
Mutual labels:  rust-library
Merkletreejs
🌱 Construct Merkle Trees and verify proofs in JavaScript.
Stars: ✭ 238 (+815.38%)
Mutual labels:  hashing

CRC32C

Crates.io Docs.rs Travis

Rust implementation of the CRC-32-Castagnoli algorithm with hardware acceleration where possible.

Hardware accelleration on the following architectures:

  1. x84-64 with SSE 4.2
    • All stable versions of Rust
    • If SSE 4.2 is enabled at compile time, it will only build the SSE implementation. Otherwise, the cpuid is used to find the best implementation at runtime.
  2. aarch64 with crc feature
    • Only available on nightly (enabled by default without feature)

All other processors utilize a software fallback.

Usage

First, add this to your Cargo.toml:

[dependencies]
crc32c = "0.6"
extern crate crc32c;

fn main() {
    let message = b"Hello world!";
    let crc = crc32c::crc32c(message);

    println!("hash = {}", crc);
}

License

You may use this code under either the Apache 2.0 license or the MIT license, at your option.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].