chickadee » sha1

sha1

Documentation

Computes SHA1 (FIPS-180-1) checksums

See message-digest-primitive for more information.

SHA1 API

Component export

Usage

(use sha1-api)

Constants

name
algorithm name ; symbol
version
algorithm version ; string
context-size
context byte length ; fixnum
digest-length
final byte length ; fixnum
block-length
buffer byte length ; fixnum

Note that block-length is informational only.

init

init CTXprocedure

Initializes a SHA1 CTX, with at least context-size byte size.

update

update CTX OBJ LENprocedure

Accumulate LEN bytes from the Scheme OBJ into CTX.

raw-update

raw-update CTX PTR LENprocedure

Accumulate LEN bytes from the byte PTR into CTX.

final

final CTX OBJprocedure

Finalize the CTX into a Scheme OBJ with at least digest-length byte size. The target is usually a blob, u8vector, or string.

SHA1 Primitive

Packaged export

Usage

(use sha1-primitive)

sha1-primitive

sha1-primitiveprocedure

Returns the SHA1 checksum digest primitive object.

Example

(use sha1-primitive message-digest-byte-vector)

(message-digest-string (sha1-primitive) "abc")
 ;=> "a9993e364706816aba3e25717850c26c9cd0d89d"

Usage

(use sha1)

Requirements

message-digest-primitive

Notes

Author

Steve Reid, packaged for Chicken by Peter Bex, C5 by kon lovett

Version history

4.1.0
Split into appi & primitive modules.
4.0.0
CHICKEN 5 release.
3.2.0
Add raw-update. Kon Lovett
3.1.0
Add block-length. Kon Lovett
3.0.0
Remove deprecated procedures. Kon Lovett
2.3
Make function declarations static in order to avoid conflicts with those from libc if the OS supplies them. This makes SHA-1 work on OpenBSD (thanks to Alan Post and Christian Kellermann)
2.2.2
Change deprecated pointer foreign type specifier to scheme-pointer to make it work under chickens newer than 4.6.0.
2.2.1
Fix for test, wrong context allocation size. Kon Lovett
2.2
a message-digest-primitive has no "state". Kon Lovett
2.1
Replaced GPL code with common public domain code.
2.0.0
Initial Chicken 4 release Kon Lovett

License

 SHA-1 in C
 By Steve Reid <steve@edmweb.com>
 100% Public Domain

Contents »