Best Home for Checksum Implementations?

classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

Best Home for Checksum Implementations?

Stefan Bodewig
Hi

inside of [compress] we've already got an implementation of CRC32C (used
by Snappy, "borrowed" from Hadoop) and will soonish have xxhash32 (used
by LZ4).

I was wondering whether these implementations would belong in one of the
other components (as well as - rather than instead of - compress) but
I'm not sure where it would fit.

[codec] and [io] could be candidates but neither holds any
java.util.zip.Checksum implementations as of now.

Neither CRC32C nor xxhash32 are cryptographic hashes so using codec's
digest package feels wrong.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

Torsten Curdt-3
On Tue, Jan 24, 2017 at 10:08 AM, Stefan Bodewig <[hidden email]> wrote:

> Hi
>
> inside of [compress] we've already got an implementation of CRC32C (used
> by Snappy, "borrowed" from Hadoop) and will soonish have xxhash32 (used
> by LZ4).
>
> I was wondering whether these implementations would belong in one of the
> other components (as well as - rather than instead of - compress) but
> I'm not sure where it would fit.
>
> [codec] and [io] could be candidates but neither holds any
> java.util.zip.Checksum implementations as of now.
>
> Neither CRC32C nor xxhash32 are cryptographic hashes so using codec's
> digest package feels wrong.
>

I agree both [io] and [codec] feel wrong. I would throw [lang] into the
hat, but in fact I don't see a perfect place in any of the components.

Maybe create a "checksum" package in codec?

cheers,
Torsten
Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

Benedikt Ritter-4
Hi,

> Am 24.01.2017 um 10:48 schrieb Torsten Curdt <[hidden email]>:
>
> On Tue, Jan 24, 2017 at 10:08 AM, Stefan Bodewig <[hidden email] <mailto:[hidden email]>> wrote:
>
>> Hi
>>
>> inside of [compress] we've already got an implementation of CRC32C (used
>> by Snappy, "borrowed" from Hadoop) and will soonish have xxhash32 (used
>> by LZ4).
>>
>> I was wondering whether these implementations would belong in one of the
>> other components (as well as - rather than instead of - compress) but
>> I'm not sure where it would fit.
>>
>> [codec] and [io] could be candidates but neither holds any
>> java.util.zip.Checksum implementations as of now.
>>
>> Neither CRC32C nor xxhash32 are cryptographic hashes so using codec's
>> digest package feels wrong.
>>
>
> I agree both [io] and [codec] feel wrong. I would throw [lang] into the
> hat, but in fact I don't see a perfect place in any of the components.
>
> Maybe create a "checksum" package in codec?

Alternatively, we could start a new component called Commons Checksum…

Benedikt

>
> cheers,
> Torsten

Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

Torsten Curdt-3
>
> > Maybe create a "checksum" package in codec?
>
> Alternatively, we could start a new component called Commons Checksum…
>

Depends on how many implementations we can gather I guess.
Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

Emmanuel Bourg-3
In reply to this post by Stefan Bodewig
Le 24/01/2017 à 10:08, Stefan Bodewig a écrit :

> I was wondering whether these implementations would belong in one of the
> other components (as well as - rather than instead of - compress) but
> I'm not sure where it would fit.

What about a dedicated component for checksum implementations? It could
also take over the digest package of [codec] which looks a bit misplaced
(codec is more about bijective coding/decoding than one-way hashing).

As for the name, either:
- commons-checksum
- commons-hashing
- commons-digest (but could be confused with digester)

Emmanuel Bourg


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

Emmanuel Bourg-3
In reply to this post by Torsten Curdt-3
Le 24/01/2017 à 11:19, Torsten Curdt a écrit :

> Depends on how many implementations we can gather I guess.

CRC32C, xxhash32, potentially a few more useful CRCs [1]. I also have a
Checksum implementation that skips some positions in the input data [2]
(used for skipping the part of the file that records the CRC).

Emmanuel Bourg

[1]
https://en.wikipedia.org/wiki/Cyclic_redundancy_check#Standards_and_common_use
[2]
https://github.com/ebourg/jsign/blob/master/jsign-core/src/main/java/net/jsign/pe/PEImageChecksum.java


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

sebb-2-2
In reply to this post by Torsten Curdt-3
I think Validator has some checksum code.

On 24 January 2017 at 10:19, Torsten Curdt <[hidden email]> wrote:
>>
>> > Maybe create a "checksum" package in codec?
>>
>> Alternatively, we could start a new component called Commons Checksum…
>>
>
> Depends on how many implementations we can gather I guess.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

Stefan Bodewig
In reply to this post by Torsten Curdt-3
On 2017-01-24, Torsten Curdt wrote:


>>> Maybe create a "checksum" package in codec?

>> Alternatively, we could start a new component called Commons Checksum…

> Depends on how many implementations we can gather I guess.

Compress will have two by the end of this week. Cassandra likely has a
MurmurHash implementation we could port if we wanted to go on a hunt.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

Stefan Bodewig
On 2017-01-24, Stefan Bodewig wrote:

> On 2017-01-24, Torsten Curdt wrote:


>>>> Maybe create a "checksum" package in codec?

>>> Alternatively, we could start a new component called Commons Checksum…

>> Depends on how many implementations we can gather I guess.

> Compress will have two by the end of this week. Cassandra likely has a
> MurmurHash implementation we could port if we wanted to go on a hunt.

https://git-wip-us.apache.org/repos/asf?p=hadoop.git;a=tree;f=hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/hash;h=71bdf14e483f7faee57591784b1b3efa65206800;hb=refs/heads/trunk

Hadoop has murmur and jenkins.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

Benedikt Ritter-4
In reply to this post by Emmanuel Bourg-3

> Am 24.01.2017 um 11:35 schrieb Emmanuel Bourg <[hidden email]>:
>
> Le 24/01/2017 à 10:08, Stefan Bodewig a écrit :
>
>> I was wondering whether these implementations would belong in one of the
>> other components (as well as - rather than instead of - compress) but
>> I'm not sure where it would fit.
>
> What about a dedicated component for checksum implementations? It could
> also take over the digest package of [codec] which looks a bit misplaced
> (codec is more about bijective coding/decoding than one-way hashing).
>
> As for the name, either:
> - commons-checksum
> - commons-hashing
> - commons-digest (but could be confused with digester)

I’m all for small and focused components.

Benedikt

>
> Emmanuel Bourg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

garydgregory
In reply to this post by Stefan Bodewig
Commons Codec already has:

org.apache.commons.codec.digest.PureJavaCrc32
org.apache.commons.codec.digest.PureJavaCrc32C

This is in SVN slated for 1.11.

Gary


On Tue, Jan 24, 2017 at 1:08 AM, Stefan Bodewig <[hidden email]> wrote:

> Hi
>
> inside of [compress] we've already got an implementation of CRC32C (used
> by Snappy, "borrowed" from Hadoop) and will soonish have xxhash32 (used
> by LZ4).
>
> I was wondering whether these implementations would belong in one of the
> other components (as well as - rather than instead of - compress) but
> I'm not sure where it would fit.
>
> [codec] and [io] could be candidates but neither holds any
> java.util.zip.Checksum implementations as of now.
>
> Neither CRC32C nor xxhash32 are cryptographic hashes so using codec's
> digest package feels wrong.
>
> Stefan
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>


--
E-Mail: [hidden email] | [hidden email]
Java Persistence with Hibernate, Second Edition
<https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
JUnit in Action, Second Edition
<https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
Spring Batch in Action
<https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory
Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

garydgregory
These two implement java.util.zip.Checksum BTW.

Gary

On Tue, Jan 24, 2017 at 12:25 PM, Gary Gregory <[hidden email]>
wrote:

> Commons Codec already has:
>
> org.apache.commons.codec.digest.PureJavaCrc32
> org.apache.commons.codec.digest.PureJavaCrc32C
>
> This is in SVN slated for 1.11.
>
> Gary
>
>
> On Tue, Jan 24, 2017 at 1:08 AM, Stefan Bodewig <[hidden email]>
> wrote:
>
>> Hi
>>
>> inside of [compress] we've already got an implementation of CRC32C (used
>> by Snappy, "borrowed" from Hadoop) and will soonish have xxhash32 (used
>> by LZ4).
>>
>> I was wondering whether these implementations would belong in one of the
>> other components (as well as - rather than instead of - compress) but
>> I'm not sure where it would fit.
>>
>> [codec] and [io] could be candidates but neither holds any
>> java.util.zip.Checksum implementations as of now.
>>
>> Neither CRC32C nor xxhash32 are cryptographic hashes so using codec's
>> digest package feels wrong.
>>
>> Stefan
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>
>
>
> --
> E-Mail: [hidden email] | [hidden email]
> Java Persistence with Hibernate, Second Edition
> <https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
> JUnit in Action, Second Edition
> <https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>
>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
> Spring Batch in Action
> <https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>



--
E-Mail: [hidden email] | [hidden email]
Java Persistence with Hibernate, Second Edition
<https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
JUnit in Action, Second Edition
<https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
Spring Batch in Action
<https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory
Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

Javen O'Neal
[Crypto] is another possible home since hashing and crypto are commonly
used together, but a standalone component may be easier for other projects
to use with regard to technology export control and easier for [Checksum]
to grow without revving a more mature library like [Crypto].

On Jan 24, 2017 12:27, "Gary Gregory" <[hidden email]> wrote:

> These two implement java.util.zip.Checksum BTW.
>
> Gary
>
> On Tue, Jan 24, 2017 at 12:25 PM, Gary Gregory <[hidden email]>
> wrote:
>
> > Commons Codec already has:
> >
> > org.apache.commons.codec.digest.PureJavaCrc32
> > org.apache.commons.codec.digest.PureJavaCrc32C
> >
> > This is in SVN slated for 1.11.
> >
> > Gary
> >
> >
> > On Tue, Jan 24, 2017 at 1:08 AM, Stefan Bodewig <[hidden email]>
> > wrote:
> >
> >> Hi
> >>
> >> inside of [compress] we've already got an implementation of CRC32C (used
> >> by Snappy, "borrowed" from Hadoop) and will soonish have xxhash32 (used
> >> by LZ4).
> >>
> >> I was wondering whether these implementations would belong in one of the
> >> other components (as well as - rather than instead of - compress) but
> >> I'm not sure where it would fit.
> >>
> >> [codec] and [io] could be candidates but neither holds any
> >> java.util.zip.Checksum implementations as of now.
> >>
> >> Neither CRC32C nor xxhash32 are cryptographic hashes so using codec's
> >> digest package feels wrong.
> >>
> >> Stefan
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [hidden email]
> >> For additional commands, e-mail: [hidden email]
> >>
> >>
> >
> >
> > --
> > E-Mail: [hidden email] | [hidden email]
> > Java Persistence with Hibernate, Second Edition
> > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> >
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1617290459>
> > JUnit in Action, Second Edition
> > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
> >
> >
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182021>
> > Spring Batch in Action
> > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182951>
> > Blog: http://garygregory.wordpress.com
> > Home: http://garygregory.com/
> > Tweet! http://twitter.com/GaryGregory
> >
>
>
>
> --
> E-Mail: [hidden email] | [hidden email]
> Java Persistence with Hibernate, Second Edition
> <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1617290459>
> JUnit in Action, Second Edition
> <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
> >
>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182021>
> Spring Batch in Action
> <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182951>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>
Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

garydgregory
For me, a new component called [checksum] is too small and a subset of the
more general [codec].

YMMV,
Gary

On Tue, Jan 24, 2017 at 1:03 PM, Javen O'Neal <[hidden email]> wrote:

> [Crypto] is another possible home since hashing and crypto are commonly
> used together, but a standalone component may be easier for other projects
> to use with regard to technology export control and easier for [Checksum]
> to grow without revving a more mature library like [Crypto].
>
> On Jan 24, 2017 12:27, "Gary Gregory" <[hidden email]> wrote:
>
> > These two implement java.util.zip.Checksum BTW.
> >
> > Gary
> >
> > On Tue, Jan 24, 2017 at 12:25 PM, Gary Gregory <[hidden email]>
> > wrote:
> >
> > > Commons Codec already has:
> > >
> > > org.apache.commons.codec.digest.PureJavaCrc32
> > > org.apache.commons.codec.digest.PureJavaCrc32C
> > >
> > > This is in SVN slated for 1.11.
> > >
> > > Gary
> > >
> > >
> > > On Tue, Jan 24, 2017 at 1:08 AM, Stefan Bodewig <[hidden email]>
> > > wrote:
> > >
> > >> Hi
> > >>
> > >> inside of [compress] we've already got an implementation of CRC32C
> (used
> > >> by Snappy, "borrowed" from Hadoop) and will soonish have xxhash32
> (used
> > >> by LZ4).
> > >>
> > >> I was wondering whether these implementations would belong in one of
> the
> > >> other components (as well as - rather than instead of - compress) but
> > >> I'm not sure where it would fit.
> > >>
> > >> [codec] and [io] could be candidates but neither holds any
> > >> java.util.zip.Checksum implementations as of now.
> > >>
> > >> Neither CRC32C nor xxhash32 are cryptographic hashes so using codec's
> > >> digest package feels wrong.
> > >>
> > >> Stefan
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [hidden email]
> > >> For additional commands, e-mail: [hidden email]
> > >>
> > >>
> > >
> > >
> > > --
> > > E-Mail: [hidden email] | [hidden email]
> > > Java Persistence with Hibernate, Second Edition
> > > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> > linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> > >
> > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> > 1617290459>
> > > JUnit in Action, Second Edition
> > > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> > linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de4
> 18%22
> > >
> > >
> > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> > 1935182021>
> > > Spring Batch in Action
> > > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> > linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> > > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> > 1935182951>
> > > Blog: http://garygregory.wordpress.com
> > > Home: http://garygregory.com/
> > > Tweet! http://twitter.com/GaryGregory
> > >
> >
> >
> >
> > --
> > E-Mail: [hidden email] | [hidden email]
> > Java Persistence with Hibernate, Second Edition
> > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> > linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> >
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> > 1617290459>
> > JUnit in Action, Second Edition
> > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> > linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de4
> 18%22
> > >
> >
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> > 1935182021>
> > Spring Batch in Action
> > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> > linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> > 1935182951>
> > Blog: http://garygregory.wordpress.com
> > Home: http://garygregory.com/
> > Tweet! http://twitter.com/GaryGregory
> >
>



--
E-Mail: [hidden email] | [hidden email]
Java Persistence with Hibernate, Second Edition
<https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
JUnit in Action, Second Edition
<https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
Spring Batch in Action
<https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory
Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

Stefan Bodewig
In reply to this post by Javen O'Neal
On 2017-01-24, Javen O'Neal wrote:

> [Crypto] is another possible home since hashing and crypto are commonly
> used together,

The checksums we have in [compress] are not cryptographically strong,
adding them to [crypto] would send the wrong signal IMHO.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

Stefan Bodewig
In reply to this post by garydgregory
On 2017-01-24, Gary Gregory wrote:

> Commons Codec already has:

> org.apache.commons.codec.digest.PureJavaCrc32
> org.apache.commons.codec.digest.PureJavaCrc32C

> This is in SVN slated for 1.11.

Oh, didn't see that as I only looked at the released javadocs.

PureJavaCrc32C likely has the same roots as the in in [compress].

To me the digest package doesn't really fit but I've never been involved
with [codec] before.

XXHash32 is ready in [compress] but I'd like to do some benchmarking to
see whether my usage if ByteBuffer is good enough our whether I should
do the byte[] -> int conversions manually.

I can add it to codec once done.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

Stefan Bodewig
In reply to this post by Emmanuel Bourg-3
On 2017-01-24, Emmanuel Bourg wrote:

> Le 24/01/2017 à 10:08, Stefan Bodewig a écrit :

>> I was wondering whether these implementations would belong in one of the
>> other components (as well as - rather than instead of - compress) but
>> I'm not sure where it would fit.

> What about a dedicated component for checksum implementations?

This would start with three or four implementations of which people will
probably only use a single one. Components that small feel a bit like
the npm world :-)

> It could also take over the digest package of [codec] which looks a
> bit misplaced (codec is more about bijective coding/decoding than
> one-way hashing).

Interesting idea.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Best Home for Checksum Implementations?

Niall Pemberton
In reply to this post by sebb-2-2
On Tue, Jan 24, 2017 at 10:51 AM, sebb <[hidden email]> wrote:

> I think Validator has some checksum code.
>

Yes, theres a checkdigit package:

http://commons.apache.org/proper/commons-validator/apidocs/org/apache/commons/validator/routines/checkdigit/package-summary.html

Niall



>
> On 24 January 2017 at 10:19, Torsten Curdt <[hidden email]> wrote:
> >>
> >> > Maybe create a "checksum" package in codec?
> >>
> >> Alternatively, we could start a new component called Commons Checksum…
> >>
> >
> > Depends on how many implementations we can gather I guess.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>