Được TopGit lập chỉ mục từ metadata GitHub: lovell/highwayhash có 222 sao, viết chủ yếu bằng JavaScript. Node.js implementation of HighwayHash, Google's fast and strong hash function
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Based on SipHash,
it is believed to be robust against hash flooding and timing attacks
because memory accesses are sequential and the algorithm is branch-free.
This makes it suitable for random number generators and hash tables storing untrusted data.
64-bit hash values are platform independent and will not change for a given input.
This is important for applications that write hashes to persistent storage.
SIMD intrinsics (AVX2, SSE4.1) will be used when available at runtime.
Expect up to 8 million operations/second,
depending on the length of the input and the output type required.
As JavaScript lacks native support for 64-bit integers,
hash values are made available as hex, string, Buffer and
low/high 32-bit unsigned integer types.
If the input to be hashed is trusted,
a cryptographically-insecure alternative is
FarmHash.
Pre-compiled binaries are provided for the most common platforms.
Returns a String representing the 64-bit unsigned integer hash value of input.
asHexString(key, input)
Returns a hexadecimal String representing the 64-bit unsigned integer hash value of input.
This is equivalent to but much faster than asBuffer().toString('hex').
asBuffer(key, input)
Returns a Buffer representing the 64-bit unsigned integer hash value of input.
This method is much slower then asString so only use this method when the hash value needs to be in a Buffer.
asUInt32Low(key, input)
Returns a Number representing the low 32-bits of the 64-bit unsigned integer hash value of input.
asUInt32High(key, input)
Returns a Number representing the high 32-bits of the 64-bit unsigned integer hash value of input.
Benchmarks
Intel i3-4170
Ubuntu 16.04.1 LTS
Node.js v6.9.4
Cryptographically strong pseudo-random input via OpenSSL's RAND_bytes
Input size / bytes
Hash function
Hash size / bits
Output data type
Ops/sec
100
md5
128
Buffer
577,384
100
sha256
256
Buffer
516,888
100
FarmHash
32
32-bit int
3,870,645
100
FarmHash
64
string
1,332,578
100
HighwayHash
32
32-bit int (low)
5,534,449
100
HighwayHash
32
32-bit int (high)
5,626,820
100
HighwayHash
64
string
2,583,533
100
HighwayHash
64
hex string
3,477,324
1000
md5
128
Buffer
343,203
1000
sha256
256
Buffer
259,395
1000
FarmHash
32
32-bit int
3,836,197
1000
FarmHash
64
string
1,219,728
1000
HighwayHash
32
32-bit int (low)
5,531,220
1000
HighwayHash
32
32-bit int (high)
5,609,610
1000
HighwayHash
64
string
2,616,148
1000
HighwayHash
64
hex string
3,520,123
10000
md5
128
Buffer
67,178
10000
sha256
256
Buffer
44,260
10000
FarmHash
32
32-bit int
1,462,781
10000
FarmHash
64
string
832,073
10000
HighwayHash
32
32-bit int (low)
3,949,544
10000
HighwayHash
32
32-bit int (high)
3,974,480
10000
HighwayHash
64
string
2,613,013
10000
HighwayHash
64
hex string
3,537,567
git clone https://github.com/lovell/highwayhash
cd highwayhash
npm install && npm test
cd bench
npm install && npm test
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file 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.
Copyright 2015, 2016, 2017 Google Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file 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.
lovell/highwayhash thuộc nhóm Frontend trên TopGit, cùng 8 topic GitHub. Trang Trending và Topics liệt kê các repo cùng số sao và cùng ngôn ngữ để so sánh.
Đọc thêm về lovell/highwayhash ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/lovell/highwayhash là nguồn chính thức.
lovell/highwayhash có bao nhiêu sao?
lovell/highwayhash có 222 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/lovell/highwayhash. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
lovell/highwayhash có phải mã nguồn mở không?
Có — lovell/highwayhash phát hành theo license Apache-2.0, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/lovell/highwayhash.
lovell/highwayhash có website riêng không?
TopGit chưa ghi nhận URL trang chủ cho lovell/highwayhash. Phần README ở tab phía trên thường có link demo, hoặc xem mô tả GitHub của repo.
lovell/highwayhash là gì?
lovell/highwayhash (lovell/highwayhash) là dự án JavaScript trên GitHub. Theo mô tả gốc: Node.js implementation of HighwayHash, Google's fast and strong hash function
lovell/highwayhash so với các dự án Frontend khác thế nào?
lovell/highwayhash được TopGit xếp vào nhóm Frontend, với 222 sao GitHub và viết bằng JavaScript. Xem trang chủ đề Frontend trên TopGit để so sánh với các dự án tương tự theo số sao và mức độ hoạt động.
Đọc đầy đủ README ở tab phía trên.
Vẫn đang phân vân về highwayhash?
Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về highwayhash.