AsymmetricCipherPair |
class AsymmetricCipherPair : EncryptCipher, DecryptCipher
An encrypting/decrypting cipher which wraps both an AsymmetricEncryptCipher and a AsymmetricDecryptCipher. |
AsymmetricDecryptCipher |
class AsymmetricDecryptCipher : ConcreteCipher, DecryptCipher
An decrypting-only cipher which uses an RSA-based PrivateKey for decryption. |
AsymmetricEncryptCipher |
class AsymmetricEncryptCipher : ConcreteCipher, EncryptCipher
An encrypting-only cipher which uses an RSA-based PublicKey for encryption. |
AuthenticatingBlockCipher |
class AuthenticatingBlockCipher : ConcreteCipher, EncryptCipher, DecryptCipher
An encrypting/decrypting cipher which uses the Galois-counter mode (GCM). |
BlockCipher |
class BlockCipher : ConcreteCipher, EncryptCipher, DecryptCipher
An encrypting/decrypting cipher which uses the chained-block mode (CBC). |
Bytes |
class Bytes : Any
A class that wraps a ByteArray, providing ease-of-use and additional functionality. |
ConcreteCipher |
abstract class ConcreteCipher : Any
A simple base class that defines a cipher which wraps an instance Cipher along with a Key. |
DecryptCipher |
interface DecryptCipher : Any
A contract for a cipher that can decrypt an instance of Encrypted, producing an instance of Decrypted. |
Decrypted |
data class Decrypted : Any
Represents data that is |
DigestBuilder |
interface DigestBuilder : Any
A builder-style contract for digesting a message. |
Digester |
abstract class Digester : Any
A base class which describes an object that can one-way digest a message (some data). |
EncryptCipher |
interface EncryptCipher : Any
A contract for a cipher that can encrypt an instance of Decrypted, producing an instance of Encrypted. |
Encrypted |
data class Encrypted : Any
Represents data that |
HashAlgorithms |
object HashAlgorithms : Any
Some common algorithms used when creating a one-way hash digest. |
HashDigester |
class HashDigester : Digester
A Digester implementation that uses a straight-forward hash. |
HmacAlgorithms |
object HmacAlgorithms : Any
Some common algorithms used when creating an HMAC digest. |
HmacDigester |
class HmacDigester : Digester
A Digester implementation which uses HMAC. |
KryptoProvider |
class KryptoProvider : Any
A class that encapsulates a JCE provider. |
java.io.InputStream | |
java.io.Serializable | |
java.nio.ByteBuffer | |
java.security.Key | |
kotlin.ByteArray | |
kotlin.CharSequence |
deriveAesKeyFromPassword |
fun deriveAesKeyFromPassword(password: CharArray, salt: Bytes, iterations: Int = PBE_KEY_DEFAULT_ITERATIONS, provider: KryptoProvider = KryptoProvider.defaultInstance): SecretKey
Derives a new AES key from the given password using a strong PBE-based algorithm. |
generateRandomAesKey |
fun generateRandomAesKey(random: SecureRandom? = null, provider: KryptoProvider = KryptoProvider.defaultInstance): SecretKey
Generates a random AES key. |
generateRandomAsymmetricKeyPair |
fun generateRandomAsymmetricKeyPair(random: SecureRandom? = null, provider: KryptoProvider = KryptoProvider.defaultInstance): KeyPair
Generates a random KeyPair for asymmetric (RSA-based) encryption/decryption. |
hashPassword |
fun hashPassword(password: String, salt: Bytes = generateRandomBytes()): String
Securely hash a password using the given salt (or a random one), returning a Base64 encoded String with an embedded salt. |
importAesKey |
fun importAesKey(bytes: Bytes): SecretKey
|
importAsymmetricKeyPair |
fun importAsymmetricKeyPair(publicBytes: Bytes, privateBytes: Bytes, provider: KryptoProvider = KryptoProvider.defaultInstance): KeyPair
|
importPrivateKey |
fun importPrivateKey(bytes: Bytes, provider: KryptoProvider = KryptoProvider.defaultInstance): PrivateKey
Imports an RSA-based private key from an instance of Bytes. |
importPublicKey |
fun importPublicKey(bytes: Bytes, provider: KryptoProvider = KryptoProvider.defaultInstance): PublicKey
Imports a RSA-based public key from an instance of Bytes. |
matchesPasswordHash |
fun matchesPasswordHash(password: String, hash: String, saltSize: Int = DEFAULT_RANDOM_BYTES_SIZE): Boolean
Checks to see if the given hash value matches the (re)hashing of this string. |