base58

Generate random strings with Base58 alphabet, with better performance.
HEAD Latest release Yanked release released

base58.cr

Generate random strings with Base58 alphabet.

Base58 string may contain alphanumeric characters except 0, O, I and l, it can be build use following Crystal code.

("0".."9").to_a + ("A".."Z").to_a + ("a".."z").to_a - ["0", "O", "I", "l"]

Better performance than valenciaj/crystal-base58, thanks a lot for the discussion in the forum

| shard name | usage | result | score | | - | - | - | - | |base58.cr | Random.base58() | 33.17M ( 30.15ns) (± 3.27%) 32.0B/op | fastest | crystal-base58 | Base58.random() | 3.52M (284.24ns) (± 3.82%) 401B/op | 9.43× slower

How to use it.

Add this shard into shard.yml, then run shards install

dependencies:
  base58:
    github: crystal-china/base58.cr

Use it.

require "base58"

Random.base58(20)  # => bbTmPChwQAPKyUV2P9oZ

Contributing

  1. Fork it (https://github.com/crystal-china/base58.cr/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

base58:
  github: crystal-china/base58.cr
  
License MIT
Crystal >= 1.12.2

Authors

Dependencies 0

Development Dependencies 0

Dependents 1

Last synced .
search fire star recently