Urgent.News

What's breaking now, across thousands of outlets.

Tech

Hash Generator: How to Verify a Downloaded File's SHA-256 Checksum in Python, Node.js, and Your Browser

I used to skip the checksum. A vendor page would print a SHA-256 next to the download link, and I'd click, install, and move on. That habit ended the day a release tarball unpacked without a single error and then segfaulted on startup. The archive on my disk was 41 MB. The real one is 118 MB. A proxy in front of the CDN had cut the transfer, and nothing between the CDN and my filesystem noticed.…

Verifying the integrity of downloaded files is crucial to ensure that the data received is accurate and unaltered. The SHA-256 checksum is a widely used method for this purpose. Traditionally, users would blindly trust checksums provided by vendors, but this practice can be risky, as demonstrated by an incident where a corrupted download went unnoticed. To avoid such issues, it's essential to verify the checksum before installation or execution.

Three methods are commonly used to verify SHA-256 checksums: Python, Node.js, and browser-based hashing. Python provides a versatile solution, especially for large files, with its hashlib library. The script `sha256file.py` reads the file in 1 MiB chunks, making it efficient for large files. It outputs the SHA-256 hash of each file, allowing for easy comparison with the vendor-provided checksum.

For shell users, the `sha256sum` command is a quick and straightforward option. It compares the calculated checksum with the expected value and exits with a non-zero status if they don't match, which is particularly useful in automated pipelines. Similarly, Node.js developers can use the `crypto` module to compute the SHA-256 hash of a file. This method is efficient and integrates well with Node.js streams, making it suitable for both command-line use and embedded in larger applications.

Browser applications can also verify SHA-256 checksums without requiring any additional libraries. By using the Web Cryptography API, developers can compute the hash of strings or file contents directly in the browser. This method is particularly useful for short strings or when integrating with web services that require checksum verification. However, developers should be aware of potential pitfalls, such as shell or network-induced byte additions, which can lead to false mismatches.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

6 Python Audit Tests for PDF Answers: Changelog Tracker Citation Tracing

A media team answering questions over a folder of developer changelog PDFs has one constraint that changes the whole retrieval architecture: every claim must lead back to the exact source passage…

  • Conduct 6 Python audit tests for PDF answers retrieval accuracy
  • Store each PDF page as versioned record with metadata
  • Use lexical index for exact tokens, vector index for paraphrased queries

Next.js Transactional Welcome Email: Node.js Delivery Tracing and Bounce Suppression

Choose an event ledger when a welcome message affects a learner's access: accept once, record every delivery transition, suppress permanent failures, and let operators poll your state rather than a…

  • Implement callback to update ledger and reconcile data by polling non-terminal records.
  • Add permanent failures to suppression list before processing new emails.

More from Thursday 15 October →