defmodule BitcoinLib.Crypto.Convert do @moduledoc """ Cryptography helper functions """ @doc """ Converts an integer, most probably a private key, into a 0 padded binary of a fix length ## Examples iex> 0x0A8D286B11B98F6CB2585B627FF44D12059560ACD430DCFA1260EF2BD9569373 ...> |> BitcoinLib.Crypto.Convert.integer_to_binary() << 10, 141, 40, 107, 17, 185, 143, 108, 178, 88, 91, 98, 127, 244, 77, 18, 5, 149, 96, 172, 212, 48, 220, 250, 18, 96, 239, 43, 217, 86, 147, 115>> """ @spec integer_to_binary(integer(), integer()) :: String.t() def integer_to_binary(value, bytes_length \\ 32) do value |> Binary.from_integer() |> Binary.pad_leading(bytes_length) end end