Giter Club home page Giter Club logo

crypto-mnemonic's Introduction

crypto-mnemonic

Build Status

Crypto-mnemonic creates random pass phrases or (hexadecimal UIDS) of specified strength which are human readable and rememberable. It is compatible with the javascript version: mnemonic.js which we use for our crypto wallet.

Installation

Add this to your application's shard.yml:

dependencies:
  crypto-mnemonic:
    github: Axentro/crypto-mnemonic

Usage

require "crypto-mnemonic"

You can generate a 96-bit mnemonic, i.e. 9 words or 3 random 32-bit unsigned integers:

m = Mnemonic.new(96)
m.to_words
["grey", "climb", "demon", "snap", "shove", "fruit", "grasp", "hum", "self"]

You can also obtain the random sequence or the 96-bit number in hexadecimal notation as follows:

m.seed
[174975897_u32, 171815469_u32, 1859322123_u32]

m.to_hex
"0a6deb990a3db22d6ed3010b"

Finally, from a list of words or a hex string it is possible to recreate the mnemonic that generated them:

m = Mnemonic.from_words(["grey", "climb", "demon", "snap", "shove", "fruit", "grasp", "hum", "self"]);
m.to_hex;
"0a6deb990a3db22d6ed3010b"

m = Mnemonic.from_hex("0a6deb990a3db22d6ed3010b")
m.to_words
["grey", "climb", "demon", "snap", "shove", "fruit", "grasp", "hum", "self"]

When working with Mnemonic you must use either 32/64/96/128/256 etc for the bit strengths. 96 is the default.

Contributing

  1. Fork it ( https://github.com/SushiChain/crypto-mnemonic/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

  • kingsleyh Kingsley Hendrickse - creator and maintainer

crypto-mnemonic's People

Contributors

kingsleyh avatar sumwatt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

visebil6 q9f

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.