Home Explore Blog Models CI



nix

1st chunk of `src/nix/hash-convert.md`
d3e4b49ed6b86d17ceebbad828a0f42b4e2b72a701da8a6e00000001000004dc
R""(

# Examples

* Convert a hash to `nix32` (a base-32 encoding with a Nix-specific character set).

  ```console
  $ nix hash convert --hash-algo sha1 --to nix32 800d59cfcd3c05e900cb4e214be48f6b886a08df
  vw46m23bizj4n8afrc0fj19wrp7mj3c0
  ```

* Convert a hash to [the `sri` format](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) that includes an algorithm specification:

  ```console
  # nix hash convert --hash-algo sha1 800d59cfcd3c05e900cb4e214be48f6b886a08df
  sha1-gA1Zz808BekAy04hS+SPa4hqCN8=
  ```

  or with an explicit `--to` format:

  ```console
  # nix hash convert --hash-algo sha1 --to sri 800d59cfcd3c05e900cb4e214be48f6b886a08df
  sha1-gA1Zz808BekAy04hS+SPa4hqCN8=
  ```

* Assert the input format of the hash:

  ```console
  # nix hash convert --hash-algo sha256 --from nix32 ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=
  error: input hash 'ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=' does not have the expected format '--from nix32'

  # nix hash convert --hash-algo sha256 --from nix32 1b8m03r63zqhnjf7l5wnldhh7c134ap5vpj0850ymkq1iyzicy5s
  sha256-ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=
  ```

# Description

`nix hash convert` converts hashes from one encoding to another.

)""

Title: Nix Hash Conversion Examples and Description
Summary
This document describes the `nix hash convert` command, which facilitates the conversion of hashes between various encodings. It provides examples, including converting a SHA1 hash to `nix32` (a Nix-specific base-32 format) and to the `sri` (Subresource Integrity) format. Additionally, it demonstrates how to use the `--from` flag to assert the expected input format of a hash, showing an error when the format mismatches and a successful conversion when it matches.