npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

sqs-md5-validator

v3.0.0

Published

Validate SQS message integrity via MD5 hashes (body & message attributes)

Downloads

10

Readme

SQS MD5 Validator

header

npm GitHub Workflow Status (with event)

Overview

The SQS MD5 Validator is a tool designed to ensure the integrity of messages sent and received through Amazon Simple Queue Service (SQS). It calculates and verifies the MD5 hash of message bodies and message attributes to confirm that the content has not been altered during transmission.

For message attributes it does this by implementing the algorithm AWS specifies in their documentation.

algorithm

Then the MD5 hash is calculated and compared to the MD5 hash AWS sent as part of the SQS message ("MD5OfMessageAttributes"). If these match the message attributes are considered valid and the integrity is guaranteed.

For the message body no special algorithm is used but the message body is hashed (md5) and again compared to the hash AWS sent as part of the message ("MD5OfBody" property). If these match, the body is considered valid and the integrity is guaranteed.

An SQS message is considered valid & the integrity proven if the body hash comparision matches AND the message attributes hash comparision matches. If no Message Attributes are sent, the hash comparision for message attributes it skipped.

Features

  • Validate SQS Messages integrity
  • Verify MD5 hashes for SQS messages (Body & Message Attributes)

Installation

To install the SQS MD5 Validator via npm, run the following command:

npm install sqs-md5-validator

Make sure you have Node.js and npm installed on your machine. You can verify the installation by running:

node -v
npm -v

Usage

To validate the integrity of an SQS message:

Also works with SQS message attributes (MessageAttributes property):

Contributing

Contributions are welcome! Please submit a pull request with your changes.

License

This project is licensed under the MIT License.

Contact

For questions or support, please open an issue on the GitHub repository.