Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
murmur
is a pure Java implementation of all Murmur hashes, namely, Murmur1, Murmur2 and Murmur3.
The library is a direct Java implementation of the C++ source code. Hash generation has been 100%
unit tested against the hashes generated using the C++ code. The library should help in building
out bloom filters, or to just compute the hash for checking sanity of data, as Murmur3 is much faster
than MD5 and SHA computations.
murmur
murmur
was developed as we could not find pure Java implementations for Murmur1
and Murmur2
hashes.
Implementations were available for Murmur3
but for some of the legacy code that I maintain, I needed
the Murmur1
and Murmur2
hashes. Thus, I ported the original implementations.
The MurmurPerformanceTests.java
file contains tests to compute hashes of 1-million random type-4 UUIDs
between various Murmur hashes, and MD5
, SHA-1
, SHA-256
, and SHA-512
hashes.
The results of a sample run on my dev machine are as under:
Intel i7-2660 CPU @ 3.40Ghz
16-GB RAM
Windows 7, 64-bit, Service Pack 1
Oracle JDK 1.7.0_51 build 13, 64-bit Server VM
Algorithm | Time Taken (ms) |
---|---|
Murmur-2-64 | 102 |
Murmur-2 | 135 |
Murmur-1 | 143 |
Murmur-3-128 | 160 |
Murmur-3 | 168 |
MD5 | 369 |
SHA-1 | 482 |
SHA-256 | 677 |
SHA-512 | 906 |
1.0.0
The library can be downloaded from Maven Central using:
<dependency>
<groupId>com.sangupta</groupId>
<artifactId>murmur</artifactId>
<version>1.0.0</version>
</dependency>
The library is continuously integrated and unit tested using the *Travis CI system.
Current status of branch MASTER
:
The library is tested against
Note: JDK6 has been removed from the list due to end-of-life from Oracle, and as support has been dropped by http://travis-ci.org as well.
For transparency and insight into our release cycle, and for striving to maintain backward compatibility,
murmur
will be maintained under the Semantic Versioning guidelines as much as possible.
Releases will be numbered with the follow format:
<major>.<minor>.<patch>
And constructed with the following guidelines:
For more information on SemVer, please visit http://semver.org/.
Copyright (c) 2014, Sandeep Gupta
The project uses various other libraries that are subject to their
own license terms. See the distribution libraries or the project
documentation for more details.
The entire source is licensed under the Apache License, Version 2.0
(the "License"); you may not use this work except in compliance with
the LICENSE. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
FAQs
Pure Java implementation of the Murmur Hash algorithms.
We found that com.sangupta:murmur demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.