| 14 Oct 2025 |
raitobezarius | Do you have a clear example of case where {from,to}NixBase32 would not roundtrip? | 16:06:32 |
raitobezarius | It's already known that Nix flavor of base32 is a bit special, but I cannot remember of seeing there was unambiguous cases. If anything, Nix always accepted $BASE32 + any char for a while (and probably still do). | 16:07:06 |
emily | frankly the hash formats are all very weird and I am not sure if it is really better to have their format details exposed to userspace rather than just treating them as opaque but interconvertible blogs | 16:07:17 |
raitobezarius | It never honored any form of strict implementation of RFC4648 | 16:07:22 |
emily | e.g. proliferation of Base32 use doesn't seem like a great thing | 16:07:32 |
emily | I believe there are cases where appending (or prepending?) a NUL byte will not change the result | 16:07:40 |
emily | because of padding | 16:07:45 |
emily | and therefore decoding must fail to round-trip on one of them | 16:07:56 |
emily | I recall running into this when factoring out the Base32 functions | 16:08:03 |
emily | Base32 lacks anything like Base64's = | 16:08:46 |
raitobezarius | There are, but it only cause problem for strict implementations outside of CppNix/Lix | 16:09:48 |