Rust-based file hashing program

Related tags

Cryptography rash
Overview

Rash

A file hashing tool written in Rust

Command line application for calculating the hash value of a file. Rash uses the RustCrypto collection of libraries, therefore currently supports

  • md5
  • SHA1
  • Whirlpool
  • Ripemd160
  • Blake2b
  • Blake2S
  • SHA2-256 (truncated to 224 and 256)
  • SHA2-512 (truncated to 224, 256, 384 and 512)
  • SHA3 (truncated to 224, 256, 384 and 512)
  • Groestl
  • Shake (256 and 512 variants)
  • Keccak (truncated to 224, 256, 384 and 512)

Usage

The Keccak algorithm is accessed with the sha3 subcommand.

USAGE:
    rash [FILE] <SUBCOMMAND>
FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information
ARGS:
    <FILE>    File to calculate the hash of
SUBCOMMANDS:
    blake2b      BLAKE2b algorithm
    blake2s      BLAKE2s algorithm
    help         Prints this message or the help of the given subcommand(s)
    md5          MD5 algorithm
    ripemd160    Ripemd160 algorithm
    sha1         SHA1 algorithm
    sha2         SHA2 algorithms
    sha3         SHA3 algorithms
    shake        Shake algorithm
    whirlpool    Whirlpool algorithm

Install

Via cargo:

cargo install rash

Arch Linux: AUR

Development version:

git clone https://github.com/themadprofessor/rash.git && cd rash && cargo install

Examples

rash md5 Readme.md
rash sha3 Readme.md
rash blake2b -l 64 Readme.md

Crates used

You might also like...
Making Token Exchange program with Solana(Rust), Web3, and Vue
Making Token Exchange program with Solana(Rust), Web3, and Vue

Escrow program for Solana blockchain Tech stack Program (Smart Contract) Rust crates: solana-program, spl-token Solana CLI for test validator UI Types

Ore Pool Miner coded in Rust for the Ore v2 program on Solana!

Ore Pool Miner Ore Pool Miner coded in Rust for the Ore v2 program on Solana Default Ore Mining Pool Alvarium Mining Pool is operated by Bifrost and i

Simple CI program for running fuzzing over TezEdge.

Fuzzing CI This program is designed to run fuzzing on selected branches of a source project, restarting it as a new commit arrives. Building cargo bui

shavee is a Program to automatically decrypt and mount ZFS datasets using Yubikey HMAC as 2FA or any USB drive with support for PAM to auto mount home directories.

shavee is a simple program to decrypt and mount encrypted ZFS user home directories at login using Yubikey HMAC or a Simple USB drive as 2FA written in rust.

The Solana Program Library (SPL) is a collection of on-chain programs targeting the Sealevel parallel runtime.

Solana Program Library The Solana Program Library (SPL) is a collection of on-chain programs targeting the Sealevel parallel runtime. These programs a

⬆ A program for deploying and upgrading programs.

DeployDAO Migrator WARNING: This code is a work in progress. Please do not use it as is. A program for deploying and upgrading programs. About The Mig

Solana NFT generative artwork program

resin Solana NFT generative artwork program Installation Depends on imagemagick for art generation, which can be installed here: https://imagemagick.o

Making composability with the Zeta DEX a breeze, FuZe provides CPI interfaces and sample implementations for on-chain program integration.
Making composability with the Zeta DEX a breeze, FuZe provides CPI interfaces and sample implementations for on-chain program integration.

Zeta FuZe 🧬 Zeta FuZe FuZe is Zeta's cross-program integration ecosystem. This repository contains the Zeta Cross Program Invocation (CPI) interface

A solana program designed to mint Metaplex compliant NFTs.

Solana Minter My program used to mint Amoebits & Amoebit Minis. I wrote it from scratch using the hello-world program as an example & base. Features C

Comments
  • rash md5 does not match the output of md5sum

    rash md5 does not match the output of md5sum

    This migth of course not be a goal of the project at all, but as it doesn't say in the readme I thought I'd point out that i was surprised that rash md5 of a file doesn't match that of md5sum. For example:

    $ echo "abc" > ~/tmp/abc && ./target/release/rash md5 ~/tmp/abc
    984a63b68a1c581b6ec1af0c96e6d527
    $ md5sum ~/tmp/abc
    0bee89b07a248e27c83fc3d5951213c1  /home/anglerud/tmp/abc
    

    Similarly for rash sha1 and sha1sum:

    $ echo "abc" > ~/tmp/abc && ./target/release/rash sha1 ~/tmp/abc
    6f54f5fef53f1511b89b6bc2e3dd4521b9abcc2e
    $ sha1sum ~/tmp/abc
    03cfd743661f07975fa2f1220c5194cbaff48451  /home/anglerud/tmp/abc
    

    If they're not intended to match - a quick note in the README.md might be a quick solution.

    opened by anglerud 2
Releases(untagged-954f1421e8adf366eae4)
Owner
Stuart Reilly
Stuart Reilly
ASURA implementation in Rust. A better alternative of consistent-hashing.

ASURA implementation in Rust. A better alternative of consistent-hashing.

Akira Hayakawa 4 May 30, 2022
A fast, non-cryptographic, minimally DoS-resistant hashing algorithm for Rust.

Foldhash This repository contains foldhash, a fast, non-cryptographic, minimally DoS-resistant hashing algorithm implemented in Rust designed for comp

Orson Peters 155 Oct 23, 2024
Password hashing functions / KDFs

RustCrypto: Password Hashes Collection of password hashing algorithms, otherwise known as password-based key derivation functions, written in pure Rus

Rust Crypto 387 Dec 28, 2022
Expose various non-cryptographic hashing functions with Digest traits

noncrypto-digests Expose various non-cryptographic hashing functions with Digest traits. This allows users to use any hashing function with the same t

Yuri Astrakhan 3 Dec 9, 2023
Program to determine the password of an encrypted ZIP file via dictionary attack.

zip-dict-attack Program to determine the password of an encrypted ZIP file via dictionary attack. Inspired by this article. Usage Cargo is used to bui

null 2 Oct 8, 2022
Marinde Anchor-Based, first on mainnet, liquid-staking-program and mSOL->SOL swap pool

marinade-anchor Marinade-finance liquid staking program for the Solana blockchain Audits & Code Review Kudelski Security: https://marinade.finance/Kud

Marinade.Finance 42 Dec 11, 2022
A young, simple and naive file crypto lib based on AES.

naive-file-crypto A young, simple and naive file crypto lib based on AES. The MAC implementation is not standard GCM, so it may be vulnerable. All cpu

DF_XYZ 1 Jan 16, 2022
Chargo is a tool for file encryption/decryption. It's based on Argon2 and ChaCha20Poly1305 algorithms.

| Documentation Chargo is a tool for file encryption/decryption with password. It's based on Argon2 and ChaCha20Poly1305 algorithms. From arg2u with ♥

Airat Galiullin 7 Jan 1, 2023
Solana Escrow Program written by RUST.

Environment Setup Install Rust from https://rustup.rs/ Install Solana from https://docs.solana.com/cli/install-solana-cli-tools#use-solanas-install-to

Blockchain*Lover* 5 Mar 10, 2022
Rust command line program for Bitcoin brainwallet

brainwallet Rust command line program for Bitcoin brainwallet as implemented at https://www.bitaddress.org. To run it, first install Rust, e.g. from h

Frank Buss 3 Dec 30, 2021