A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://godoc.org/github.com/multiformats/go-multihash below:

multihash package - github.com/multiformats/go-multihash - Go Packages

Package multihash is the Go implementation of https://github.com/multiformats/multihash, or self-describing hashes.

View Source
const (
	IDENTITY = 0x00
	
	ID         = IDENTITY
	SHA1       = 0x11
	SHA2_256   = 0x12
	SHA2_512   = 0x13
	SHA3_224   = 0x17
	SHA3_256   = 0x16
	SHA3_384   = 0x15
	SHA3_512   = 0x14
	SHA3       = SHA3_512
	KECCAK_224 = 0x1A
	KECCAK_256 = 0x1B
	KECCAK_384 = 0x1C
	KECCAK_512 = 0x1D
	BLAKE3     = 0x1E

	SHAKE_128 = 0x18
	SHAKE_256 = 0x19

	BLAKE2B_MIN = 0xb201
	BLAKE2B_MAX = 0xb240
	BLAKE2S_MIN = 0xb241
	BLAKE2S_MAX = 0xb260

	MD5 = 0xd5

	DBL_SHA2_256 = 0x56

	MURMUR3X64_64 = 0x22
	
	MURMUR3 = MURMUR3X64_64

	SHA2_256_TRUNC254_PADDED  = 0x1012
	X11                       = 0x1100
	POSEIDON_BLS12_381_A1_FC1 = 0xb401
)

constants

View Source
var (
	ErrUnknownCode      = errors.New("unknown multihash code")
	ErrTooShort         = errors.New("multihash too short. must be >= 2 bytes")
	ErrTooLong          = errors.New("multihash too long. must be < 129 bytes")
	ErrLenNotSupported  = errors.New("multihash does not yet support digests longer than 127 bytes")
	ErrInvalidMultihash = errors.New("input isn't valid multihash")

	ErrVarintBufferShort = errors.New("uvarint: buffer too small")
	ErrVarintTooLong     = errors.New("uvarint: varint too big (max 64bit)")
)

errors

View Source
var Codes = map[uint64]string{
	IDENTITY:                  "identity",
	SHA1:                      "sha1",
	SHA2_256:                  "sha2-256",
	SHA2_512:                  "sha2-512",
	SHA3_224:                  "sha3-224",
	SHA3_256:                  "sha3-256",
	SHA3_384:                  "sha3-384",
	SHA3_512:                  "sha3-512",
	DBL_SHA2_256:              "dbl-sha2-256",
	MURMUR3X64_64:             "murmur3-x64-64",
	KECCAK_224:                "keccak-224",
	KECCAK_256:                "keccak-256",
	KECCAK_384:                "keccak-384",
	KECCAK_512:                "keccak-512",
	BLAKE3:                    "blake3",
	SHAKE_128:                 "shake-128",
	SHAKE_256:                 "shake-256",
	SHA2_256_TRUNC254_PADDED:  "sha2-256-trunc254-padded",
	X11:                       "x11",
	POSEIDON_BLS12_381_A1_FC1: "poseidon-bls12_381-a2-fc1",
	MD5:                       "md5",
}

Codes maps a hash code to it's name

DefaultLengths maps a multihash indicator code to the output size for that hash, in units of bytes.

ErrSumNotSupported is returned when the Sum function code is not implemented

View Source
var Names = map[string]uint64{
	"identity":                  IDENTITY,
	"sha1":                      SHA1,
	"sha2-256":                  SHA2_256,
	"sha2-512":                  SHA2_512,
	"sha3":                      SHA3_512,
	"sha3-224":                  SHA3_224,
	"sha3-256":                  SHA3_256,
	"sha3-384":                  SHA3_384,
	"sha3-512":                  SHA3_512,
	"dbl-sha2-256":              DBL_SHA2_256,
	"murmur3-x64-64":            MURMUR3X64_64,
	"keccak-224":                KECCAK_224,
	"keccak-256":                KECCAK_256,
	"keccak-384":                KECCAK_384,
	"keccak-512":                KECCAK_512,
	"blake3":                    BLAKE3,
	"shake-128":                 SHAKE_128,
	"shake-256":                 SHAKE_256,
	"sha2-256-trunc254-padded":  SHA2_256_TRUNC254_PADDED,
	"x11":                       X11,
	"md5":                       MD5,
	"poseidon-bls12_381-a2-fc1": POSEIDON_BLS12_381_A1_FC1,
}

Names maps the name of a hash to the code

Encode a hash digest along with the specified function code. Note: the length is derived from the length of the digest itself.

The error return is legacy; it is always nil.

EncodeName is like Encode() but providing a string name instead of a numeric code. See Names for allowed values.

// ignores errors for simplicity - don't do that at home.
buf, _ := hex.DecodeString("0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33")
mhbuf, _ := EncodeName(buf, "sha1")
mhhex := hex.EncodeToString(mhbuf)
fmt.Printf("hex: %v\n", mhhex)
Output:

hex: 11140beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33

Register is an alias for Register in the core package.

Consider using the core package instead of this multihash package; that package does not introduce transitive dependencies except for those you opt into, and will can result in smaller application builds.

Register is an alias for Register in the core package.

Consider using the core package instead of this multihash package; that package does not introduce transitive dependencies except for those you opt into, and will can result in smaller application builds.

DecodedMultihash represents a parsed multihash and allows easy access to the different parts of a multihash.

Decode parses multihash bytes into a DecodedMultihash.

// ignores errors for simplicity - don't do that at home.
buf, _ := hex.DecodeString("0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33")
mhbuf, _ := EncodeName(buf, "sha1")
o, _ := Decode(mhbuf)
mhhex := hex.EncodeToString(o.Digest)
fmt.Printf("obj: %v 0x%x %d %s\n", o.Name, o.Code, o.Length, mhhex)
Output:

obj: sha1 0x11 20 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33
type ErrInconsistentLen struct {
	
}

ErrInconsistentLen is returned when a decoded multihash has an inconsistent length

Multihash is byte slice with the following form: <hash function code><digest size><hash function output>. See the spec for more information.

Cast casts a buffer onto a multihash, and returns an error if it does not work.

FromB58String parses a B58-encoded multihash.

FromHexString parses a hex-encoded multihash.

MHFromBytes reads a multihash from the given byte buffer, returning the number of bytes read as well as the multihash

Sum obtains the cryptographic sum of a given buffer. The length parameter indicates the length of the resulting digest. Passing a negative value uses default length values for the selected hash function.

SumStream obtains the cryptographic sum of a given stream. The length parameter indicates the length of the resulting digest. Passing a negative value uses default length values for the selected hash function.

B58String returns the B58-encoded representation of a multihash.

HexString returns the hex-encoded representation of a multihash.

String is an alias to HexString().

Reader is an io.Reader wrapper that exposes a function to read a whole multihash, parse it, and return it.

NewReader wraps an io.Reader with a multihash.Reader

Set is a set of Multihashes, holding one copy per Multihash.

NewSet creates a new set correctly initialized.

Add adds a new multihash to the set.

All returns a slice with all the elements in the set.

ForEach runs f(m) with each multihash in the set. If returns immediately if f(m) returns an error.

Has returns true if the element is in the set.

Len returns the number of elements in the set.

Remove removes an element from the set.

Visit adds a multihash only if it is not in the set already. Returns true if the multihash was added (was not in the set before).

Writer is an io.Writer wrapper that exposes a function to write a whole multihash.

NewWriter wraps an io.Writer with a multihash.Writer


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4