base58
Version, currently main branch1 version
- main branchlatestFeb 19, 2026
github.com/crystal-china/base58.cr
Generate random strings with Base58 alphabet, with better performance.
2 stars
1 dependent
License: MIT
Installation
# Add this to your shard.yml
dependencies:
base58:
github: crystal-china/base58.cr
branch: mainmain is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
>= 1.12.2- License
- MIT
- Author
- Billy.Zheng <vil963@gmail.com>
Dependencies
This version declares no dependencies.
README
# 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.
```ruby
("0".."9").to_a + ("A".."Z").to_a + ("a".."z").to_a - ["0", "O", "I", "l"]
```
Better performance than [valenciaj/crystal-base58](https://github.com/valenciaj/crystal-base58), thanks a lot for the discussion in the [forum](https://forum.crystal-lang.org/t/is-this-a-good-way-to-generate-a-random-string/6986)
| 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`
```yaml
dependencies:
base58:
github: crystal-china/base58.cr
```
Use it.
```crystal
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
- [Billy.Zheng](https://github.com/zw963) - creator and maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
main- Seen
- Feb 19, 2026
- Crystal
>= 1.12.2- Indexed
- yes
Dependents
Repository
github.com/crystal-china/base58.cr
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 12, 2026
- Synced
- Aug 12, 2026
- Versions
- 1