Skip to content

Commit

Permalink
Release 0.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Larralde committed Jul 24, 2017
1 parent 10d2408 commit 1a0f4d4
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 15 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.


## [Unreleased]


## [0.2.0] - 2017-07-24
### Added
- Following sum with Hasher & Digest implementations:
* Unix (UNIX `cksum`)
Expand Down Expand Up @@ -40,4 +43,5 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- This CHANGELOG file


[Unreleased]: https://github.com/olivierlacan/keep-a-changelog/compare/0.1.0...HEAD
[Unreleased]: https://github.com/althonos/pruefung/compare/0.2.0...HEAD
[0.2.0]: https://github.com/althonos/pruefung/compare/0.1.0...0.2.0
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pruefung"
version = "0.1.0"
version = "0.2.0"
authors = ["Martin Larralde <martin.larralde@ens-cachan.fr>"]
license = "MIT"
description = """
Expand Down
61 changes: 48 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ of the [RustCrypto][2] project, implementing the [`digest::Digest`][3], and the
[`core::hasher::Hasher`][4] traits when possible (less than 64 bits in the
output).

Then, to compute a hash, for instance a `CRC32` (Ethernet standard):
Then, to compute a hash, for instance a [`CRC32`][5] (Ethernet standard):

```rust
extern crate pruefung;
Expand All @@ -48,11 +48,12 @@ println!("Result: {:x}", hash) // print the result as native hex

## Dependencies

The crate itself is [`no_std`][5], but provides [`digest::Digest`][3] implementations
The crate itself is [`no_std`][6], but provides [`digest::Digest`][3] implementations
for convenience and integration with the [`hashes`][1] crate. Those bindings can
be scrapped off however by disabling the default features of the crates, adding
the following line to yout `Cargo.toml`:
```

```toml
[dependencies.pruefung]
version = "^0.1.0"
default-features = false
Expand All @@ -63,14 +64,22 @@ default-features = false

Latest version of the crate implements the following checksums:

Algorithm | *since* | `struct`
----------------------------------------------------------------- | ------- | --------
[Adler32](https://en.wikipedia.org/wiki/Adler-32) | `0.1.0` | `::adler32::Adler32`
[BSD checksum](https://en.wikipedia.org/wiki/BSD_checksum) | `0.1.0` | `::bsd::BSD`
[CRC32](https://en.wikipedia.org/wiki/Cyclic_redundancy_check) | `0.1.0` | `::crc32::CRC32`
[CRC32C](https://en.wikipedia.org/wiki/Cyclic_redundancy_check) | `0.1.0` | `::crc32c::CRC32C`
[Fletcher16](https://en.wikipedia.org/wiki/Fletcher%27s_checksum) | `0.1.0` | `::fletcher16::Fletcher16`
[SysV checksum](https://en.wikipedia.org/wiki/SYSV_checksum) | `0.1.0` | `::sysv::SysV`
Algorithm | *since* | *implemented as*
------------------- | ------- | --------
[Adler32][7] | `0.1.0` | [`::adler32::Adler32`][15]
[BSD checksum][8] | `0.1.0` | [`::bsd::Bsd`][16]
[CRC32][5] | `0.2.0` | [`::crc::crc32::CRC32`][17]
[CRC32C][5] | `0.2.0` | [`::crc::crc32::CRC32C`][18]
[Fletcher16][9] | `0.1.0` | [`::fletcher16::Fletcher16`][19]
[FNV0-32][10] | `0.2.0` | [`::fnv::fnv32::Fnv32z`][20]
[FNV1-32][11] | `0.2.0` | [`::fnv::fnv32::Fnv32`][21]
[FNV1a-32][12] | `0.2.0` | [`::fnv::fnv32::Fnv32a`][22]
[FNV0-64][10] | `0.2.0` | [`::fnv::fnv64::Fnv64z`][23]
[FNV1-64][11] | `0.2.0` | [`::fnv::fnv64::Fnv64`][24]
[FNV1a-64][12] | `0.2.0` | [`::fnv::fnv64::Fnv64a`][25]
[SysV checksum][13] | `0.1.0` | [`::sysv::SysV`][26]
[UNIX checksum][14] | `0.2.0` | [`::unix::Unix`][27]


These checksums are **NOT** cryptographically secure. They should not be used
for something else than data validation against *accidental* modifications:
Expand All @@ -85,9 +94,35 @@ team.
german. But a slug version of `zyklische-redundanzprüfung` seemed like a nice
name, instead of another checksum, cksum, checksums, crc, etc. crate.*


<!-- General links -->
[1]: https://github.com/RustCrypto/hashes
[2]: https://github.com/RustCrypto
[3]: https://docs.rs/digest/*/digest/trait.Digest.html
[4]: https://doc.rust-lang.org/core/hash/trait.Hasher.html
[5]: https://doc.rust-lang.org/1.11.0/book/no-stdlib.html
[5]: https://en.wikipedia.org/wiki/Cyclic_redundancy_check
[6]: https://doc.rust-lang.org/1.11.0/book/no-stdlib.html

<!-- Wikipedia checksum articles -->
[7]: https://en.wikipedia.org/wiki/Adler-32
[8]: https://en.wikipedia.org/wiki/BSD_checksum
[9]: https://en.wikipedia.org/wiki/Fletcher%27s_checksum
[10]: https://en.wikipedia.org/wiki/Fowler-Noll-Vo_hash_function#FNV-0_hash_.28deprecated.29
[11]: https://en.wikipedia.org/wiki/Fowler-Noll-Vo_hash_function#FNV-1_hash
[12]: https://en.wikipedia.org/wiki/Fowler-Noll-Vo_hash_function#FNV-1a_hash
[13]: https://en.wikipedia.org/wiki/SYSV_checksum
[14]: https://en.wikipedia.org/wiki/Cksum

<!-- API documentation -->
[15]: https://docs.rs/pruefung/*/pruefung/adler32/struct.Adler32.html
[16]: https://docs.rs/pruefung/*/pruefung/bsd/struct.Bsd.html
[17]: https://docs.rs/pruefung/*/pruefung/crc/crc32/struct.Crc32.html
[18]: https://docs.rs/pruefung/*/pruefung/crc/crc32/struct.Crc32c.html
[19]: https://docs.rs/pruefung/*/pruefung/fletcher16/struct.Fletcher16.html
[20]: https://docs.rs/pruefung/*/pruefung/fnv/fnv32/struct.Fnv32z.html
[21]: https://docs.rs/pruefung/*/pruefung/fnv/fnv32/struct.Fnv32.html
[22]: https://docs.rs/pruefung/*/pruefung/fnv/fnv32/struct.Fnv32a.html
[23]: https://docs.rs/pruefung/*/pruefung/fnv/fnv64/struct.Fnv64z.html
[24]: https://docs.rs/pruefung/*/pruefung/fnv/fnv64/struct.Fnv64.html
[25]: https://docs.rs/pruefung/*/pruefung/fnv/fnv64/struct.Fnv64a.html
[26]: https://docs.rs/pruefung/*/pruefung/sysv/struct.SysV.html
[27]: https://docs.rs/pruefung/*/pruefung/unix/struct.Unix.html

0 comments on commit 1a0f4d4

Please sign in to comment.