Skip to content

Generate random strings with Base58 alphabet, with better performance.

License

Notifications You must be signed in to change notification settings

crystal-china/base58.cr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Generate random strings with Base58 alphabet, with better performance.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published