Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/randombit/botan-rs
:shrimp: Rust cryptography library
https://github.com/randombit/botan-rs
cryptography rust
Last synced: 2 days ago
JSON representation
:shrimp: Rust cryptography library
- Host: GitHub
- URL: https://github.com/randombit/botan-rs
- Owner: randombit
- License: mit
- Created: 2018-07-19T14:57:12.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-29T21:17:23.000Z (3 months ago)
- Last Synced: 2024-11-06T04:51:35.500Z (9 days ago)
- Topics: cryptography, rust
- Language: Rust
- Homepage:
- Size: 541 KB
- Stars: 33
- Watchers: 5
- Forks: 15
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- License: LICENSE
Awesome Lists containing this project
README
# botan-rs
[![Build status](https://github.com/randombit/botan-rs/workflows/ci/badge.svg)](https://github.com/randombit/botan-rs/actions)
[![crates.io](https://img.shields.io/crates/v/botan.svg)](https://crates.io/crates/botan)
[![docs.rs](https://docs.rs/botan/badge.svg)](https://docs.rs/botan)This crate wraps the C API exposed by the [Botan](https://botan.randombit.net/)
cryptography library.Currently the crate exposes ciphers, hashes, MACs, KDFs, password based key
derivation (PBKDF2, Scrypt, Argon2, etc), bcrypt password hashes, random number
generators, X.509 certificates, format preserving encryption, HOTP/TOTP, NIST
key wrapping, multiprecision integers, and the usual public key algorithms (RSA,
ECDSA, ECDH, DH, ...)PRs and comments/issues happily accepted.
MSRV
-----The Minimum Supported Rust Version of this crate is Rust 1.64.0.
Botan Versions Supported
--------------------------This crate requires Botan 2.13.0 or higher. However the latest
available version of Botan3 is highly recomended for best security and
performance.Features
---------The following features are supported:
* `std` (enabled by default): Enable using std library features. If
disabled then the crates are `no_std`, however support for `alloc`
is still required.
* `vendored`: Build a copy of the C++ library directly, without
relying on a system installed version.
* `botan3`: Enable support for using APIs added in Botan 3.
This enables several new features, and more efficient operation.
This feature is implicitly enabled if you use `vendored`.
* `static`: Enable static linking for a non-vendored, externally
provided Botan dependency.
* `pkg-config`: Enable finding a non-vendored, externally provided
Botan with pkg-config. Can be used in combination with `static`.