Skip to content
CryptHash.NET is a .NET multi-target library to encrypt/decrypt/hash strings and files, with an optional .NET Core multiplatform console utility.
C#
Branch: master
Clone or download
Latest commit 1b7eba8 Sep 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src/CryptHash.Net version 3.0.1 release Sep 17, 2019
.gitattributes initial commit Jun 29, 2019
.gitignore initial commit Jun 29, 2019
.travis.yml Update .travis.yml Sep 15, 2019
LICENSE.TXT added license file Sep 16, 2019
README.md Update README.md Sep 16, 2019

README.md

CryptHash.NET

Build status (crypthash-net) Nuget version (CryptHash.Net) Nuget downloads (CryptHash.Net) Tests status (crypthash-net)

A .NET multi-target Library and .NET Core Console Application utility for encryption/decryption and hashing.

The .NET Core console utility is designed to run in Windows, Linux and Mac, for text and files symmetric authenticated encryption/decryption, and text/files hashing. File checksum functionality is also available, you can verify the integrity of downloaded files from the internet with the source supplied hash.

The multi-target libray can be used in projects with any .NET implementation like .NET Framework, .NET Core, Mono, Xamarin, etc. Verify the .NET Standard compatibility table here: https://github.com/dotnet/standard/blob/master/docs/versions.md

Currently symmetric encryption algorithms are:

  • AES 128 bits in CBC Mode with HMACSHA256 Authentication and Salt, using the Encrypt-then-MAC (EtM) strategy.
  • AES 192 bits in CBC Mode with HMACSHA384 Authentication and Salt, using the Encrypt-then-MAC (EtM) strategy.
  • AES 256 bits in CBC Mode with HMACSHA384 Authentication and Salt, using the Encrypt-then-MAC (EtM) strategy.
  • AES 256 bits in CBC Mode with HMACSHA512 Authentication and Salt, using the Encrypt-then-MAC (EtM) strategy.
  • AES 256 bits in GCM Mode with Authentication and Associated Data (AEAD).

Currently supported hash algorithms are:

  • MD5
  • SHA1
  • SHA256
  • SHA384
  • SHA512
  • BCrypt

Other encryption/hashing algorithms will be implemented in the future.

NuGet package: https://www.nuget.org/packages/CryptHash.Net

Compiled console utility and library binaries (self-contained / no framework dependent) for Windows (x86/x64/ARM), Linux (x64/ARM -> Raspberry Pi) and Mac (x64): https://github.com/alecgn/crypthash-net/releases/tag/v3.0.0. When running on Linux or Mac, don't forget to navigate to the program's folder and "chmod +x crypthash".

Additionally in the above release link there's a Windows x64 compiled version for native code using CoreRT (runs much faster than the other versions, just one single executable).

Publish it yourself using the following dotnet client command-line:

dotnet publish -c Release -r <RID>


WINDOWS RIDs

Portable

  • win-x86
  • win-x64

Windows 7 / Windows Server 2008 R2

  • win7-x64
  • win7-x86

Windows 8 / Windows Server 2012

  • win8-x64
  • win8-x86
  • win8-arm

Windows 8.1 / Windows Server 2012 R2

  • win81-x64
  • win81-x86
  • win81-arm

Windows 10 / Windows Server 2016

  • win10-x64
  • win10-x86
  • win10-arm
  • win10-arm64

LINUX RIDs

ARM / Raspberry Pi (Raspbian)

  • linux-arm

Portable

  • linux-x64

CentOS

  • centos-x64
  • centos.7-x64

Debian

  • debian-x64
  • debian.8-x64

Fedora

  • fedora-x64
  • fedora.24-x64
  • fedora.25-x64 (.NET Core 2.0 or later versions)
  • fedora.26-x64 (.NET Core 2.0 or later versions)

Gentoo (.NET Core 2.0 or later versions)

  • gentoo-x64

openSUSE

  • opensuse-x64
  • opensuse.42.1-x64

Oracle Linux

  • ol-x64
  • ol.7-x64
  • ol.7.0-x64
  • ol.7.1-x64
  • ol.7.2-x64

Red Hat Enterprise Linux

  • rhel-x64
  • rhel.6-x64 (.NET Core 2.0 or later versions)
  • rhel.7-x64
  • rhel.7.1-x64
  • rhel.7.2-x64
  • rhel.7.3-x64 (.NET Core 2.0 or later versions)
  • rhel.7.4-x64 (.NET Core 2.0 or later versions)

Tizen (.NET Core 2.0 or later versions)

  • tizen

Ubuntu

  • ubuntu-x64
  • ubuntu.14.04-x64
  • ubuntu.14.10-x64
  • ubuntu.15.04-x64
  • ubuntu.15.10-x64
  • ubuntu.16.04-x64
  • ubuntu.16.10-x64

Ubuntu derivatives

  • linuxmint.17-x64
  • linuxmint.17.1-x64
  • linuxmint.17.2-x64
  • linuxmint.17.3-x64
  • linuxmint.18-x64
  • linuxmint.18.1-x64 (.NET Core 2.0 or later versions)

macOS RIDs

macOS RIDs use the older "OSX" branding.

  • osx-x64 (.NET Core 2.0 or later versions, minimum version is osx.10.12-x64)
  • osx.10.10-x64
  • osx.10.11-x64
  • osx.10.12-x64 (.NET Core 1.1 or later versions)
  • osx.10.13-x64

Complete RID LIST (https://docs.microsoft.com/en-us/dotnet/core/rid-catalog)

You can’t perform that action at this time.