Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the oe-encode Reference Manual, generated automatically by Declt version 3.0 "Montgomery Scott" on Thu Mar 11 14:21:12 2021 GMT+0.
• Introduction | What oe-encode is all about | |
• Systems | The systems documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
* Introduction This is a port of Pieter van Ginkel's C# [[https://github.com/pvginkel/ProgressEncode][implementation]] of the =ENCODE()= hash function from Progress OpenEdge. To paraphrase Pieter: Progress has declined to make the algorithm for =ENCODE()= public, which is problematic when working with legacy systems (particularly where it's been used to hash user passwords). This implementation provides a compatible implementation of the hash function. * API ** (hash-bytes bytes) Usage: : (hash-bytes #(1 2 3 4)) : ;=> #(97 98 109 99 97 110 106 67 108 106 102 120 113 77 76 119) =HASH-BYTES= takes a sequence of =(unsigned-byte 8)= and returns a =(vector (unsigned-byte 8) 16)= that is the bytes of the resulting hash. ** (hash-string string &key encoding) Usage: : (hash-string "foo" :encoding :utf-8) : ;=> #(108 97 99 100 107 71 106 117 108 105 106 99 108 110 97 97) =HASH-STRING= uses =HASH-BYTES= to hash the input string after encoding it with the specified encoding. If =:encoding= is not supplied, =:iso-8559-1= is used. ** (hash-string->string string &key in-encoding out-encoding) Usage: : (oe-encode:hash-string->string "foo" :in-encoding :utf-8 :out-encoding :utf-8) : ;=> "lacdkGjulijclnaa" =HASH-STRING->STRING= works like =HASH-STRING= but decodes the result result into a string before returning it -- the Progress API operates on and returns strings, so this is likely to be the most convenient function for working with existing data. =:in-encoding= is used to encode the input before hashing and defaults to =:iso-8559-1=, =:out-encoding= is used to decode the resulting hash bytes as a string and defaults to the value of =:in-encoding=. Note that the =ENCODE()= algorithm ensures that output bytes are always in the range of alphabetic ASCII characters, so output encodings that are ASCII-compatible are preferrable.
Next: Files, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The oe-encode system |
Matthew Stickney <mtstickney@gmail.com>
CC0 1.0 Public Domain
An implementation of the ENCODE() hash function from Progress OpenEdge.
babel
oe-encode.asd (file)
encode.lisp (file)
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files |
• The oe-encode.asd file | ||
• The oe-encode/encode.lisp file |
Next: The oe-encode/encode․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
oe-encode.asd
oe-encode (system)
Previous: The oe-encode․asd file, Up: Lisp files [Contents][Index]
oe-encode (system)
encode.lisp
+magic-numbers+ (special variable)
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The oe-encode package |
encode.lisp (file)
common-lisp
+magic-numbers+ (special variable)
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
• Exported functions |
Previous: Exported definitions, Up: Exported definitions [Contents][Index]
encode.lisp (file)
encode.lisp (file)
encode.lisp (file)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal special variables |
Previous: Internal definitions, Up: Internal definitions [Contents][Index]
encode.lisp (file)
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | F L O |
---|
Jump to: | F L O |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | F H |
---|
Jump to: | F H |
---|
Next: Data type index, Previous: Function index, Up: Indexes [Contents][Index]
Jump to: | +
S |
---|
Index Entry | Section | ||
---|---|---|---|
| |||
+ | |||
+magic-numbers+ : | Internal special variables | ||
| |||
S | |||
Special Variable, +magic-numbers+ : | Internal special variables | ||
|
Jump to: | +
S |
---|
Previous: Variable index, Up: Indexes [Contents][Index]
Jump to: | O P S |
---|
Index Entry | Section | ||
---|---|---|---|
| |||
O | |||
oe-encode : | The oe-encode system | ||
oe-encode : | The oe-encode package | ||
| |||
P | |||
Package, oe-encode : | The oe-encode package | ||
| |||
S | |||
System, oe-encode : | The oe-encode system | ||
|
Jump to: | O P S |
---|