This paper has presented some basic ideas, algorithms, and criteria for producing library hash functions. It has shown how the existing hash mechanisms in Java could be improved by employing a better library hash function. Last but not least it has formulated an abstract type for hashing that allows programmers to create new hash values from other primitive hash values and gives them a method to convert hash values to integers for use in table searching and other authentication and validation techniques which employ hashing.
The hash algorithms given here are freely available both from
the SAL sketches here, the Java code in the appendix, and C-code
in the original publications given in the references. The Java
Hash class given in the appendix is copyrighted but I am happy to
let anyone use it for non-commercial, non-governmental uses.
This paper would have taken much longer to create, if I did
not have the help and criticism of the following people. Or
perhaps, it is more accurate to say this paper would have been
finished much earlier without the help and criticism of Paul
Eggert, Michael Lennon, Matthew TONG Chi Fai, and Keith
Wansbrough. The errors that remain are, of course, still mine.
[bashe86] | Bashe, Charles J., et.al. IBM's Early Computers, |
Addison-Wesley, Reading, Mass., 1986. | |
[bently86] | Bentley, Jon. Programming Pearls, Addison-Wesley, |
Reading, Mass., 1986, p139-150. | |
[mcilroy82] | McIlroy, Doug. "Development of a Spelling List", |
IEEE Trans. on Commun. COM-30, Part 1 (Jan 1982), p91-99. | |
[mckenzie90] | McKenzie, B. J., R. Harries, and T. Bell. Selecting a Hashing |
Algorithm, Software Practice and Experience 20,2 (Feb 1990), p209. | |
[pearson90] | Pearson, Peter K. Fast Hashing of Variable Length Text Strings. |
Commun. ACM 33,6 (Jun 1990), p677. | |
[pieprzyk93] | Pieprzyk Josef and Babak Sadeghiyan, Design Of Hashing |
Algorithms, Lecture Notes in Computer Science 756, | |
Springer-Verlag, 1993, (Science Lib 001.64 L47 756) | |
[rcs91] | Tishy, Walter F. and Paul R. Eggert. The Revision Control System (RCS) |
Version 5.7, ftp:ftp.cs.purdue.edu/pub/RCS/rcs-5.7.tar.Z | |
[tong96] | Tong, Matthew C. F. General Hashing. |
PhD Thesis, Computer Science Department, University | |
of Auckland, 1996; {in preparation}. | |
[tong97] | Tong, Matthew C. F., Robert C. Uzgalis. Hash Program Development in |
Squigol.Submitted to 1997 WG2.1 Working Conference on Program | |
Transfomations | |
[uzgalis91] | Uzgalis, Robert C. General Hash Functions. |
TR. 91-01 Computer Science Department, University | |
of Hong Kong, January 1991 | |
[uzgalis94] | Uzgalis, Robert C. and M.C.F. Tong `Guaranteed Random |
Input Arrivals', TR 95, Department of Computer Science, | |
University of Auckland, June 1994 |
Copyright © 1996 Robert Uzgalis,
All Rights Reserved.
Contact: Robert Uzgalis <buz@zis.com>
home
This paper was automatically translated from troff into html by
t2h.