________________________________________
\__ ___/ _____/\_ _____/\_ ___ \
| | \_____ \ | __)_ / \ \/
| | / \ | \\ \____
|____| /_______ //_______ / \______ /
\/ \/ \/
For the current progress, please refer to the RoadMap
For version changes and additions, including breaking changes, see either release notes or the Version Changes page.
Windows™® is not supported.
Feel free to fork the project and add your own windows support.
Our Notation for versions is:
X.X.X
^ ^ ^____Minor
| |______Major
|________Complete redesign (i.e scalaz 7 vs 8)
All x.x.x-Mx
releases are milestone releases. Thus, we do not guarantee binary compatibility or no api-breakage until
a concrete version(i.e 0.0.1
). We aim to keep userland-apis relatively stable, but
internals shift as we find better/more performant abstractions.
We will guarantee compatibility between minor versions (i.e 0.0.1 => 0.0.2) but not major versions (0.0.1 => 0.1.0)
0.0.1-M11 is here for scala 2.12+ and Cats 1.0.1!
To get started, if you are on sbt 0.13.16+, add
Name | Description | Examples |
---|---|---|
tsec-common | Common crypto utilities | |
tsec-password | Password hashers: BCrypt and Scrypt | here |
tsec-cipher-jca | Symmetric encryption utilities | here |
tsec-cipher-bouncy | Symmetric encryption utilities | here |
tsec-mac | Message Authentication | here |
tsec-signatures | Digital signatures | here |
tsec-hash-jca | Message Digests (Hashing) | here |
tsec-hash-bouncy | Message Digests (Hashing) | here |
tsec-libsodium | Nicely-typed Libsodium JNI bridge | here |
tsec-jwt-mac | JWT implementation for Message Authentication signatures | here |
tsec-jwt-sig | JWT implementation for Digital signatures | here |
tsec-http4s | Http4s Request Authentication and Authorization | here |
To include any of these packages in your project use:
val tsecV = "0.0.1-M11"
libraryDependencies ++= Seq(
"io.github.jmcardon" %% "tsec-common" % tsecV,
"io.github.jmcardon" %% "tsec-password" % tsecV,
"io.github.jmcardon" %% "tsec-cipher-jca" % tsecV,
"io.github.jmcardon" %% "tsec-cipher-bouncy" % tsecV,
"io.github.jmcardon" %% "tsec-mac" % tsecV,
"io.github.jmcardon" %% "tsec-signatures" % tsecV,
"io.github.jmcardon" %% "tsec-hash-jca" % tsecV,
"io.github.jmcardon" %% "tsec-hash-bouncy" % tsecV,
"io.github.jmcardon" %% "tsec-libsodium" % tsecV,
"io.github.jmcardon" %% "tsec-jwt-mac" % tsecV,
"io.github.jmcardon" %% "tsec-jwt-sig" % tsecV,
"io.github.jmcardon" %% "tsec-http4s" % tsecV
)
See CONTRIBUTING.md
We use log4s
which is a logging facade over SLF4J. This implies you need to add a
binding to your classpath. Check https://www.slf4j.org/codes.html#StaticLoggerBinder
Robert Soeldner (Contributor/Maintainer)
Christopher Davenport(Contributor/Maintainer)
Harrison Houghton(Contributor/Maintainer)
Bjørn Madsen (Contributor)
André Rouél(Contributor)
Edmund Noble (For the dank tagless)
Fabio Labella (For the great FP help)
Will Sargent (Security Discussions)