Advertisement
Guest User

Untitled

a guest
Dec 13th, 2018
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.54 KB | None | 0 0
  1. defmodule Keypair do
  2.  
  3. def generate() do
  4. :crypto.generate_key(:ecdh, :secp256k1)
  5. end
  6.  
  7. def to_public_key(private_key) do
  8. private_key
  9. |> String.valid?()
  10. |> is_encoded(private_key)
  11. |> generate_key()
  12. end
  13.  
  14. defp is_encoded(true, private_key), do: Base.decode16!(private_key)
  15. defp is_encoded(false, private_key), do: private_key
  16.  
  17. defp generate_key(private_key) do
  18. with {public_key, _private_key} <-
  19. :crypto.generate_key(:ecdh, :secp256k1, private_key),
  20. do: public_key
  21. end
  22. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement