Comments (3)
It's only unambiguous right now because we have only one hash algorithm for each byte length. But #10600 adds BLAKE3 support, which has the same length as SHA256. So nix hash to-sri 08mkixjpppijssmg63l542xhmxyr7xs9z1v9qfjda7cfqgah5kh5
would no longer be unambiguous.
from nix.
I don't think it's unreasonable for it to throw an error in that case that says something like can't determine between BLAKE3 and SHA256, please explicitly specify
. Given that the number of algorithms is probably not something that is going to scale massively, I think it's worth considering.
from nix.
Is it planned that 08mkixjpppijssmg63l542xhmxyr7xs9z1v9qfjda7cfqgah5kh5
as a BLAKE3 hash would ever be output in that format? Could new hash algorithms exclusively be output in SRI format, to avoid the ambiguity? (if you manually nix hash to-base32
a BLAKE3 hash, that seems like your own fault)
Alternative semi-serious proposal:
$ nix hash to-sri 08mkixjpppijssmg63l542xhmxyr7xs9z1v9qfjda7cfqgah5kh5
warning: ambiguous input format (use --type to disambiguate), possibilities:
sha256-Bc4C1cOOHdWkw2mHn3Q/2fcKuyCFDvOq1jLee2WPsyI=
blake3-Bc4C1cOOHdWkw2mHn3Q/2fcKuyCFDvOq1jLee2WPsyI=
I guess the third alternative is "don't use to-sri
, use to-base64
and add the prefix by hand" but that seems suboptimal, frankly.
from nix.
Related Issues (20)
- nix path-info --json always return with exit code 0 contradicting docs
- NixOS Graphical ISO image DNS ERROR on cache.nixos
- macOS installer: upcoming UID clash on macOS 15 Sequoia HOT 13
- Installer error on Google Project IDX, sudo command not found HOT 2
- Detect remote `systemFeatures` automatically
- .lock files incorrectly block the build process HOT 2
- nix-copy-closure to ssh:// store tries to log in with empty SSH username
- Mixed C++ and preprocessor directive indentation
- -Wdeprecated
- C API: Split test suite, headers into C++-independent component HOT 1
- Unable to build after update to Vicuña HOT 1
- _nixbld 1 through 4 have disappeared HOT 1
- fetchTarball accepts ISO images (and likely many unexpected archive formats) HOT 1
- `installer` CI job broken
- Creating Nix user on MacOS HOT 1
- Unable to run Nix Flake on Mac M1
- garbage-collection internals are not documented / toString produces store path without context HOT 1
- Nix sometimes does not use configured substituters after a garbage collection HOT 5
- Regression test for #10916, run as root, about read only store
- HTTPS store TLS certificate pinning
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nix.