base58.cr

Generate random strings with Base58 alphabet, with better performance.

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

Random.base58(base58.cr)        33.17M ( 30.15ns) (± 3.27%)  32.0B/op        fastest
Base58.random(crystal-base58)   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

Repository

base58.cr

Owner
Statistic
  • 2
  • 0
  • 0
  • 2
  • 0
  • 3 months ago
  • July 8, 2024
License

MIT License

Links
Synced at

Sun, 17 Nov 2024 02:03:02 GMT

Languages