hex-text: ByteString-Text hexidecimal conversions

[ library, mit, text ] [ Propose Tags ]

Encode a ByteString as a hexidecimal Text value, or decode hexidecimal Text as a ByteString.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.2, 0.1.0.4, 0.1.0.6, 0.1.0.7, 0.1.0.8
Change log changelog.md
Dependencies base (>=4.14 && <4.18), base16-bytestring (>=1.0.2 && <1.1), bytestring (>=0.10.12 && <0.12), text (>=1.2.4 && <1.3 || >=2.0 && <2.1) [details]
License MIT
Copyright 2021 Mission Valley Software LLC
Author Chris Martin
Maintainer Chris Martin, Julie Moronuki
Category Text
Home page https://github.com/typeclasses/hex-text
Bug tracker https://github.com/typeclasses/hex-text/issues
Source repo head: git clone https://github.com/typeclasses/hex-text
Uploaded by chris_martin at 2022-12-31T09:05:50Z
Distributions LTSHaskell:0.1.0.8, NixOS:0.1.0.8, Stackage:0.1.0.8
Reverse Dependencies 9 direct, 3 indirect [details]
Downloads 2613 total (112 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for hex-text-0.1.0.8

[back to package description]

hex-text

hex-text is a small library for converting between ByteStrings and their representations as hexidecimal numbers encoded as Text.

Motivation

When using Stripe for payments, Stripe sends a signature as a hexidecimal Text value. The cryptonite package can be used to verify the signature, but it requires ByteString values, not Text.

Example usage

A ByteString is a list of bytes. A byte is a number between 0 and 255, represented by the Word8 type. In a fixed-width hexidecimal representation, the lowest byte 0 is represented by the hex string 00, and the greatest byte 255 is represented by the hex string ff. So, for example, the ByteString consisting of bytes [ 1, 2, 3, 253, 254, 255 ] is represented as 010203fdfeff.

λ> import Text.Hex (encodeHex)
λ> import Data.ByteString (pack)

λ> (encodeHex . pack) [1, 2, 3, 253, 254, 255]
"010203fdfeff"