The cl-pass Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-pass Reference Manual

This is the cl-pass Reference Manual, version 0.1, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 11:18:23 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

cl-pass

Build Status Quicklisp badge

cl-pass is a password hashing and verification library. The source code was originally part of hermetic, and was factored out to allow other libraries to use it.

Usage

cl-user> (cl-pass:hash "test")
"PBKDF2$sha256:20000$5cf6ee792cdf05e1ba2b6325c41a5f10$19c7f2ccb3880716bf7cdf999b3ed99e07c7a8140bab37af2afdc28d8806e854"
cl-user> (cl-pass:check-password "test" *)
t
cl-user> (cl-pass:check-password "nope" **)
nil

License

Copyright (c) 2014-2015 Fernando Borretti (eudoxiahp@gmail.com)

Licensed under the MIT License.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 cl-pass

Author

Fernando Borretti

Home Page

https://github.com/eudoxia0/cl-pass

License

MIT

Description

Password hashing and verification library.

Long Description

# cl-pass

[![Build Status](https://travis-ci.org/eudoxia0/cl-pass.svg?branch=master)](https://travis-ci.org/eudoxia0/cl-pass) [![Quicklisp badge](http://quickdocs.org/badge/cl-pass.svg)](http://quickdocs.org/cl-pass)

cl-pass is a password hashing and verification library. The source code was
originally part of [hermetic](https://github.com/eudoxia0/hermetic), and was
factored out to allow other libraries to use it.

# Usage

“‘lisp
cl-user> (cl-pass:hash "test") "PBKDF2$sha256:20000$5cf6ee792cdf05e1ba2b6325c41a5f10$19c7f2ccb3880716bf7cdf999b3ed99e07c7a8140bab37af2afdc28d8806e854" cl-user> (cl-pass:check-password "test" *)
t
cl-user> (cl-pass:check-password "nope" **)
nil
“‘

# License

Copyright (c) 2014-2015 Fernando Borretti (eudoxiahp@gmail.com)

Licensed under the MIT License.

Version

0.1

Dependencies
Source

cl-pass.asd (file)

Component

src (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

Modules are listed depth-first from the system components tree.


Previous: , Up: Modules   [Contents][Index]

3.1 cl-pass/src

Parent

cl-pass (system)

Location

src/

Component

cl-pass.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 cl-pass.asd

Location

cl-pass.asd

Systems

cl-pass (system)


Previous: , Up: Lisp files   [Contents][Index]

4.1.2 cl-pass/src/cl-pass.lisp

Parent

src (module)

Location

src/cl-pass.lisp

Packages

cl-pass

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

5.1 cl-pass

Source

cl-pass.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Functions

Function: check-password PASS PASSWORD-HASH

Verify that PASS hashes to PASSWORD-HASH. Extracts the parameters (Salt, algorithm, number of iterations) in PASSWORD-HASH, so you don’t have to pass anything else.

Package

cl-pass

Source

cl-pass.lisp (file)

Function: hash ()

Hash a password string.

Package

cl-pass

Source

cl-pass.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Special variables

Special Variable: *package-random-state*

Holds the random state used for generation of random numbers.

Package

cl-pass

Source

cl-pass.lisp (file)

Special Variable: +known-digests+
Package

cl-pass

Source

cl-pass.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Functions

Function: constant-string= A B

Custom string equality function to defeat timing attacks.

Package

cl-pass

Source

cl-pass.lisp (file)

Function: parse-password-hash PASSWORD-HASH

Parse a combined string into a list containing the digest; and the number of iterations, salt and algorithm used to produce it.

Package

cl-pass

Source

cl-pass.lisp (file)

Function: pbkdf2 PASSWORD SALT DIGEST ITERATIONS
Package

cl-pass

Source

cl-pass.lisp (file)

Function: salt &optional SIZE

Generate a salt of a given size.

Package

cl-pass

Source

cl-pass.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   C   F   L   M  
Index Entry  Section

C
cl-pass.asd: The cl-pass<dot>asd file
cl-pass/src: The cl-pass/src module
cl-pass/src/cl-pass.lisp: The cl-pass/src/cl-pass<dot>lisp file

F
File, Lisp, cl-pass.asd: The cl-pass<dot>asd file
File, Lisp, cl-pass/src/cl-pass.lisp: The cl-pass/src/cl-pass<dot>lisp file

L
Lisp File, cl-pass.asd: The cl-pass<dot>asd file
Lisp File, cl-pass/src/cl-pass.lisp: The cl-pass/src/cl-pass<dot>lisp file

M
Module, cl-pass/src: The cl-pass/src module

Jump to:   C   F   L   M  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   C   F   H   P   S  
Index Entry  Section

C
check-password: Exported functions
constant-string=: Internal functions

F
Function, check-password: Exported functions
Function, constant-string=: Internal functions
Function, hash: Exported functions
Function, parse-password-hash: Internal functions
Function, pbkdf2: Internal functions
Function, salt: Internal functions

H
hash: Exported functions

P
parse-password-hash: Internal functions
pbkdf2: Internal functions

S
salt: Internal functions

Jump to:   C   F   H   P   S  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
S  
Index Entry  Section

*
*package-random-state*: Internal special variables

+
+known-digests+: Internal special variables

S
Special Variable, *package-random-state*: Internal special variables
Special Variable, +known-digests+: Internal special variables

Jump to:   *   +  
S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   P   S  
Index Entry  Section

C
cl-pass: The cl-pass system
cl-pass: The cl-pass package

P
Package, cl-pass: The cl-pass package

S
System, cl-pass: The cl-pass system

Jump to:   C   P   S