|
IntegerUtil |
|
1 /* $RCSfile: IntegerUtil.java,v $
2 * $Revision: 1.3 $
3 * $Date: 2002/01/04 14:05:31 $
4 * $Author: uwe $
5 * $State: Exp $
6 *
7 * Created on July 12, 2001, 5:20 PM
8 *
9 * Copyright (C) 2001 Uwe Guenther <uwe@cscc.de>
10 *
11 * This file is part of the jhbci JCE-ServiceProvider. The jhbci JCE-
12 * ServiceProvider is a library, written in JavaTM, that should be
13 * used in HBCI banking applications (clients and may be servers),
14 * to do cryptographic operations.
15 *
16 * The jhbci library is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU Lesser General Public
18 * License as published by the Free Software Foundation; either
19 * version 2.1 of the License, or (at your option) any later version.
20 *
21 * The jhbci library is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24 * Lesser General Public License for more details.
25 *
26 * You should have received a copy of the GNU Lesser General Public
27 * License along with this library; if not, write to the Free Software
28 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 *
30 */
31
32 package de.cscc.crypto.util;
33
34 /**
35 * IntegerUtil Class.
36 *
37 * Class that hold only static methods to convert ints and int arrays to
38 * Strings. These Strings holds the hex or binary representation of the
39 * converted ints or int arrays. This class can't be instance, because
40 * its constructor is private.
41 *
42 * @author <a href=mailto:uwe@cscc.de>Uwe Günther</a>
43 * @version $Revision: 1.3 $
44 */
45 public final class IntegerUtil {
46
47 /** This class can't be instance, because its constructor is private. */
48 private IntegerUtil() {}
49
50 /**
51 * Converts byte to binary representation.
52 *
53 * @param in int that will be converted.
54 * @return String with hex representation of in.
55 */
56 public static String toBin(int in){
57
58 return toBinGeneric(in);
59 }
60
61 /**
62 * Converts int[] to binary representation.
63 *
64 * @param in int[] that will be converted.
65 * @return String with hex representation of in.
66 */
67 public static String toBin(int[] in){
68
69 StringBuffer tmp = new StringBuffer();
70
71 for (int i = 0; i < in.length; i++) {
72 tmp.append(toBin(in[i]) + " ");
73 }
74
75 return "[ " + tmp + "]";
76
77 }
78
79 /**
80 * Converts int to binary representation.
81 *
82 * @param in int that will be converted
83 * @return String with hex representation of in
84 */
85 private static String toBinGeneric(int in){
86
87 StringBuffer tmp = new StringBuffer();
88
89 for(int i = 0; i < 32; i++){
90 tmp.insert(0, (in >>> i) & 0x00000001);
91
92 }
93
94 return "0b" + tmp.toString();
95 }
96
97 /**
98 * Converts int to hex representation.
99 *
100 * @param in int that will be converted.
101 * @return String with hex representation of in.
102 */
103 public static String toHex(int in) {
104
105 return toHexGeneric(in);
106 }
107
108 /**
109 * Converts int[] to hex representation.
110 *
111 * @param in int[] that will be converted.
112 * @return String with hex representation of in.
113 */
114 public static String toHex(int[] in) {
115
116 StringBuffer tmp = new StringBuffer();
117
118 for (int i = 0; i < in.length; i++) {
119 tmp.append(toHexGeneric(in[i]) + " ");
120 }
121
122 return "[ " + tmp.toString() + "]";
123 }
124
125 /**
126 * Converts int to binary representation.
127 *
128 * @param in int that will be converted
129 * @return String with hex representation of in
130 */
131 private static String toHexGeneric(int in){
132 return ByteUtil.toHex(toByteArray(in));
133 }
134
135 /**
136 * Converts int to byte[4]
137 *
138 * @param in int that should be converted to byte[4].
139 * @return byte array that holds the int in.
140 */
141 public static byte[] toByteArray(int in) {
142
143 byte[] temp = new byte[4];
144
145 temp[0] = (byte)((in >>> 24) & 0xff);
146 temp[1] = (byte)((in >>> 16) & 0xff);
147 temp[2] = (byte)((in >>> 8) & 0xff);
148 temp[3] = (byte)((in >>> 0) & 0xff);
149
150 return temp;
151 }
152 }
153
|
IntegerUtil |
|