Viewing profile — sdrapkin
sdrapkin
HN member- Joined
- Mon, Apr 20, 2015, 3:25 PM UTC
- HN karma
- 457
- Public activity
- 61 items
- HN profile
- View on Hacker News ↗
About sdrapkin
No profile information was provided.
Recent public activity
-
comment
Comment #45899719
Guid.CreateVersion7 in .NET 9+ claims RFC 9562 compliance but violates its big-endian requirement for binary storage. This causes the same database index fragmentation that v7 UUID…
- story
-
comment
Comment #44610356
fcrand (fast crypto/rand) is a high-performance drop-in replacement for Go's crypto/rand.
- story
-
comment
Comment #44508985
No, Guid/uuids are defined as 128-bit labels used to uniquely identify objects in computer systems. This 128-bit/16-byte definition predates any RFCs that one may or may not choose…
-
comment
Comment #44505259
Agreed. So at worst they (Golang developers) should be indifferent, and at best they should opt for the faster choice. With serverless code billing by the second, faster choices ar…
-
comment
Comment #44504604
Amazon AWS S3 web servers process millions of requests per second, and each response generates a random Request-Id. It’s not exactly 16 bytes, but this is a very realistic scenario…
-
comment
Comment #44504572
Guid/uuid is defined as a 16-byte structure. Are you questioning the “byte” part, or the “random” part?
-
comment
Comment #44504561
Fast guid/uuid generators are NOT a security risk. You want such generators to be as fast as possible, without compromising cryptographic strength.
-
comment
Comment #44504516
The vast majority of Golang developers would benefit from using Guid library instead of UUID library. It’s substantially faster in all cases, more secure (by 2^6) and has more func…
-
comment
Comment #44504158
> This shouldn't really matter as your import paths are obviously different. I'm aware of that, of course. Guid is intentionally named differently from "uuid" (both as a package an…
-
comment
Comment #44504119
You are correct - Guid very specifically and intentionally generates a structure of 16 random bytes. In decades of programming I've never needed a random 16-byte structure to have …
-
comment
Comment #44504069
Guid package generates guids/uuids. Your linked package generates variable length strings. These are different usecases (oh, and your benchmarks are inferior to https://github.com/…
-
comment
Comment #44503916
cuid2 generates variable-length strings. If you want fast cryptographically strong string generation, I recommend https://github.com/sdrapkin/randstring . It will likely be faster …
-
comment
Comment #44503717
It's on the roadmap (already implemented in a similar .NET library - https://github.com/sdrapkin/SecurityDriven.FastGuid ).
-
comment
Comment #44503695
In case you missed it, "guid.Read()" is a much faster alternative to "crypto/rand". https://pkg.go.dev/github.com/sdrapkin/guid#Read
-
comment
Comment #44503678
IMHO "Guid" is just as well known (Wikipedia agrees: https://en.wikipedia.org/wiki/Universally_unique_identifier ), and "UUID" was already taken by Google.
-
comment
Comment #44503172
Thanks for your feedback. If you are skilled in Golang, I suggest you review the code more thoroughly for a more accurate understanding (especially compared to what standard uuid d…
-
comment
Comment #44503132
It generates entropy 4kb-at-a-time (instead of on each call), and uses a cache-pool instead of single cache behind a lock (which is what standard uuid does in "RandPool=ON" mode).
-
comment
Comment #44502851
Much faster (~10x) than standard github.com/google/uuid package I'm interested in feedback from the HN community.
- story
-
comment
Comment #36623362
Indeed. But FIPS is not the only problem. Both the McGrew/Viega spec and subsequent NIST spec of GCM mandate a 4-byte counter - any departure from that would be "no longer GCM".
-
comment
Comment #36623082
GCM (ie. AES-GCM) has the following problems, which extended variants - those that deterministically randomize (key,nonce) pair - do not solve: Inability to encrypt more than 64Gb …
- story
-
comment
Comment #27357950
Modern, fast, safe, cryptographically strong .NET replacement for Random and RandomNumberGenerator.