# hash algorithms

Published articles for hash algorithms.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Ultimate Go: Advanced Engineering Episode 3 -- Adding a Cryptographic Audit Trail to a Dependency Manager Database

DevFeed: [Ultimate Go: Advanced Engineering Episode 3 -- Adding a Cryptographic Audit Trail to a Dependency Manager Database](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-3-22189.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/12/ultimate-go-advanced-engineering-episode-3.html>)

Published: 2022-12-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [audit trail](<https://devfeed.tech/topics/audit-trail.md>), [audit](<https://devfeed.tech/topics/audit.md>)

Tags: [audit](<https://devfeed.tech/tags/audit.md>), [audit-trail](<https://devfeed.tech/tags/audit-trail.md>), [cryptographic-audit](<https://devfeed.tech/tags/cryptographic-audit.md>), [cryptographically-auditable](<https://devfeed.tech/tags/cryptographically-auditable.md>), [database](<https://devfeed.tech/tags/database.md>), [genesis-record](<https://devfeed.tech/tags/genesis-record.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [hash-algorithms](<https://devfeed.tech/tags/hash-algorithms.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [record-chaining](<https://devfeed.tech/tags/record-chaining.md>), [trust](<https://devfeed.tech/tags/trust.md>)

### AI overview

This video explains how to add a previous-record hash to a dependency manager database, chaining records into a cryptographic audit trail. Recomputed hashes can reveal database changes, while the genesis record has no previous hash.

### Source excerpt

Introduction In episode 2, Bill designed a database for his dependency manager to enable Go developers to have reproducible,durable and secure builds. This database will house the hash value for each of the dependencies stored. During runtime, these hash values are compared with the dependencies a user has locally. Bill's tool makes this comparison to make sure the user has the right version of the dependency. Each team making use of Bill's dependency manager will have access to its database, however, his database lacked any means to reliably perform audits.

## Ultimate Go: Advanced Engineering Episode 2

DevFeed: [Ultimate Go: Advanced Engineering Episode 2](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-2-22188.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/12/ultimate-go-advanced-engineering-episode-2.html>)

Published: 2022-12-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [Blockchain](<https://devfeed.tech/topics/blockchain.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [cli](<https://devfeed.tech/tags/cli.md>), [database](<https://devfeed.tech/tags/database.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [go](<https://devfeed.tech/tags/go.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [hash-algorithms](<https://devfeed.tech/tags/hash-algorithms.md>), [hash-collision](<https://devfeed.tech/tags/hash-collision.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [sha-256](<https://devfeed.tech/tags/sha-256.md>), [sha256](<https://devfeed.tech/tags/sha256.md>)

### AI overview

This video tutorial explains how dependency management in Go relates to reproducible builds, blockchain hashing, and trust in a centralized dependency database. It introduces hashes as distributed identifiers, explains collisions, and discusses the use of SHA-256 to reduce collision risk.

### Source excerpt

Introduction In episode 1, Bill finished by describing the dependency management conundrum Go faced in its early days. Prior to the Go team providing the module system, developers were on their own to find a solution. Engineers in the Go community did propose different solutions, but there was no general consensus on which tool to use for dependency management. In this video, Bill will begin to architect a solution to the reproducible build problem. By doing so, you will learn how blockchain hashing works and then Bill will share how centralizing this dependency database will cause other problems. One of these problems is people eventually losing trust in the database because only one stakeholder, Bill, can make changes to it without a means for users to detect the change. He closes this segment with an important question, "how do we establish trust for this CLI's database?"