01: //copyright 2000 Finn Bock
02:
03: package org.python.modules;
04:
05: import java.io.UnsupportedEncodingException;
06: import org.python.core.*;
07:
08: public class sha implements ClassDictInit {
09: public static String __doc__ = "* Cryptix General License\n"
10: + "* Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 The Cryptix"
11: + " Foundation\n"
12: + "* Limited. All rights reserved.\n"
13: + "* \n"
14: + "* Redistribution and use in source and binary forms, with or\n"
15: + "* without modification, are permitted provided that the\n"
16: + "* following conditions are met:\n"
17: + "*\n"
18: + "* - Redistributions of source code must retain the copyright\n"
19: + "* notice, this list of conditions and the following disclaimer.\n"
20: + "* - Redistributions in binary form must reproduce the above\n"
21: + "* copyright notice, this list of conditions and the following\n"
22: + "* disclaimer in the documentation and/or other materials\n"
23: + "* provided with the distribution.\n"
24: + "*\n"
25: + "* THIS SOFTWARE IS PROVIDED BY THE CRYPTIX FOUNDATION LIMITED\n"
26: + "* AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED\n"
27: + "* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n"
28: + "* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n"
29: + "* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CRYPTIX\n"
30: + "* FOUNDATION LIMITED OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n"
31: + "* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
32: + "* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n"
33: + "* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\n"
34: + "* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n"
35: + "* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n"
36: + "* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF\n"
37: + "* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n"
38: + "* OF SUCH DAMAGE.\n";
39:
40: public static SHA1 new$(PyObject[] args, String[] kws) {
41: ArgParser ap = new ArgParser("sha", args, kws, "string");
42: String cp = ap.getString(0, null);
43: SHA1 n = new SHA1();
44: if (cp != null) {
45: n.update(PyString.to_bytes(cp));
46: }
47: return n;
48: }
49:
50: public static SHA1 sha$(PyObject[] args, String[] kws) {
51: return new$(args, kws);
52: }
53:
54: public static void classDictInit(PyObject dict) {
55: dict.__setitem__("digest_size", Py.newInteger(20));
56: dict.__setitem__("digestsize", Py.newInteger(20));
57: dict.__setitem__("blocksize", Py.newInteger(1));
58: dict.__setitem__("classDictInit", null);
59: }
60: }
|