billstclair / elm-crypto-string / Crypto.Strings.Encoding

Encoders and decoders from and to strings and blocks.

Config elements

Key Encodings

foldedSha256KeyEncoding : Crypto.Strings.Types.KeyEncoding

A KeyEncoding for foldedSha256KeyEncoder

Encodings

base64Encoding : Basics.Int -> Crypto.Strings.Types.Encoding

How to encode/decode strings to/from Base64

The Int parameter is the line length for encoding to a string.

hexEncoding : Crypto.Strings.Types.Encoding

How to encode/decode strings to/from hex.

Translate between strings and byte lists.

plainTextDecoder : List Basics.Int -> String

Decode UTF-8 bytes into a string.

plainTextEncoder : String -> List Basics.Int

Encode a string as UTF-8 bytes

Implementations of the Config elements

foldedSha256KeyEncoder : Crypto.Strings.Types.BlockSize -> String -> Crypto.Strings.Types.Block

Hash and fold a passphrase to turn it into a raw key array.

fold : Basics.Int -> List Basics.Int -> List Basics.Int

Fold a list of integers to a specified size.

Actually XORs too-long pieces together to not lose any entropy.

Worth the effort? I don't know. Hashing probably does enough.

base64Encoder : Basics.Int -> List Basics.Int -> String

Convert bytes to Base64.

base64Decoder : String -> Result String (List Basics.Int)

Convert a Base64 string to bytes. Sometimes the string is malformed.

hexEncoder : List Basics.Int -> String

Convert bytes to hex.

hexDecoder : Basics.Int -> String -> Result String (List Basics.Int)

Convert a hex string to bytes. Sometimes the string is malformed.