Live data from Hacker News

Viewing profile — sdrapkin

sdrapkin

HN member
Joined
Mon, Apr 20, 2015, 3:25 PM UTC
HN karma
457
Public activity
61 items

About sdrapkin

No profile information was provided.

Recent public activity

  1. 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…

  2. story
  3. comment
    Comment #44610356

    fcrand (fast crypto/rand) is a high-performance drop-in replacement for Go's crypto/rand.

  4. story
  5. 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…

  6. 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…

  7. 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…

  8. comment
    Comment #44504572

    Guid/uuid is defined as a 16-byte structure. Are you questioning the “byte” part, or the “random” part?

  9. 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.

  10. 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…

  11. 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…

  12. 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 …

  13. 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/…

  14. 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 …

  15. comment
    Comment #44503717

    It's on the roadmap (already implemented in a similar .NET library - https://github.com/sdrapkin/SecurityDriven.FastGuid ).

  16. 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

  17. 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.

  18. 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…

  19. 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).

  20. comment
    Comment #44502851

    Much faster (~10x) than standard github.com/google/uuid package I'm interested in feedback from the HN community.

  21. story
  22. 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".

  23. 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 …

  24. story
  25. comment
    Comment #27357950

    Modern, fast, safe, cryptographically strong .NET replacement for Random and RandomNumberGenerator.