Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype Credential = Credential Text
- credentialAlphabet :: [Char]
- tokenBase :: Int
- tokenLength :: Int
- randomCredential :: Monad m => RandomGen r => StateT r m Credential
- readCredential :: Text -> Either CredentialError Credential
- data CredentialError
- newtype UUID = UUID Text
- randomUUID :: Monad m => RandomGen r => StateT r m UUID
- type SecretKey = E
- secretKey :: SubGroup q => UUID -> Credential -> SecretKey q
- type PublicKey = G
- publicKey :: SubGroup q => SecretKey q -> PublicKey q
Type Credential
newtype Credential Source #
A Credential
is a word of (
-characters
from a base alphabet of (tokenLength
+1 ==
15)
characters:
"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
(beware the absence of "0", "O", "I", and "l").
The last character is a checksum.
The entropy is: tokenBase
==
58)(
.tokenLength
* log tokenBase
/ log 2) ==
82.01… bits
Instances
Eq Credential Source # | |
Defined in Protocol.Credential (==) :: Credential -> Credential -> Bool # (/=) :: Credential -> Credential -> Bool # | |
Show Credential Source # | |
Defined in Protocol.Credential showsPrec :: Int -> Credential -> ShowS # show :: Credential -> String # showList :: [Credential] -> ShowS # |
credentialAlphabet :: [Char] Source #
tokenLength :: Int Source #
randomCredential :: Monad m => RandomGen r => StateT r m Credential Source #
generates a random randomCredential
Credential
.
readCredential :: Text -> Either CredentialError Credential Source #
reads and check the well-formedness of a readCredential
Credential
from raw Text
.
Type CredentialError
data CredentialError Source #
Instances
Eq CredentialError Source # | |
Defined in Protocol.Credential (==) :: CredentialError -> CredentialError -> Bool # (/=) :: CredentialError -> CredentialError -> Bool # | |
Show CredentialError Source # | |
Defined in Protocol.Credential showsPrec :: Int -> CredentialError -> ShowS # show :: CredentialError -> String # showList :: [CredentialError] -> ShowS # |
Type UUID
randomUUID :: Monad m => RandomGen r => StateT r m UUID Source #
generates a random randomUUID
UUID
.
Type SecretKey
secretKey :: SubGroup q => UUID -> Credential -> SecretKey q Source #
(
returns the secretKey
uuid cred)SecretKey
derived from given uuid
and cred
using fastPBKDF2_SHA256
.