annotate src/main/java/christie/blockchain/HashUtil.java @ 121:8949d0ecf1f6

refactor Topology
author akahori
date Tue, 11 Dec 2018 15:46:09 +0900
parents eab161e557bd
children 0ef25958ac04
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
106
691017a550d0 add Hash
akahori
parents:
diff changeset
1 package christie.blockchain;
691017a550d0 add Hash
akahori
parents:
diff changeset
2
691017a550d0 add Hash
akahori
parents:
diff changeset
3 import org.bouncycastle.crypto.digests.*;
691017a550d0 add Hash
akahori
parents:
diff changeset
4
691017a550d0 add Hash
akahori
parents:
diff changeset
5
691017a550d0 add Hash
akahori
parents:
diff changeset
6 public class HashUtil {
691017a550d0 add Hash
akahori
parents:
diff changeset
7 public byte[] sha256(byte[] input) {
691017a550d0 add Hash
akahori
parents:
diff changeset
8 SHA256Digest digest = new SHA256Digest();
691017a550d0 add Hash
akahori
parents:
diff changeset
9 byte[] resBuf = new byte[digest.getDigestSize()];
691017a550d0 add Hash
akahori
parents:
diff changeset
10 if(input != null) {
691017a550d0 add Hash
akahori
parents:
diff changeset
11 digest.update(input, 0, input.length);
691017a550d0 add Hash
akahori
parents:
diff changeset
12 digest.doFinal(resBuf, 0);
691017a550d0 add Hash
akahori
parents:
diff changeset
13 }else{
691017a550d0 add Hash
akahori
parents:
diff changeset
14 throw new NullPointerException("Can't sha256 input is null.");
691017a550d0 add Hash
akahori
parents:
diff changeset
15 }
691017a550d0 add Hash
akahori
parents:
diff changeset
16 return resBuf;
691017a550d0 add Hash
akahori
parents:
diff changeset
17
691017a550d0 add Hash
akahori
parents:
diff changeset
18 }
691017a550d0 add Hash
akahori
parents:
diff changeset
19
691017a550d0 add Hash
akahori
parents:
diff changeset
20 public byte[] sha3(byte[] input){
691017a550d0 add Hash
akahori
parents:
diff changeset
21 SHA3Digest digest = new SHA3Digest();
691017a550d0 add Hash
akahori
parents:
diff changeset
22 byte[] resBuf = new byte[digest.getDigestSize()];
691017a550d0 add Hash
akahori
parents:
diff changeset
23 if(input != null) {
691017a550d0 add Hash
akahori
parents:
diff changeset
24 digest.update(input, 0, input.length);
691017a550d0 add Hash
akahori
parents:
diff changeset
25 digest.doFinal(resBuf, 0);
691017a550d0 add Hash
akahori
parents:
diff changeset
26 }else{
691017a550d0 add Hash
akahori
parents:
diff changeset
27 throw new NullPointerException("Can't sha3 input is null.");
691017a550d0 add Hash
akahori
parents:
diff changeset
28 }
691017a550d0 add Hash
akahori
parents:
diff changeset
29 return resBuf;
691017a550d0 add Hash
akahori
parents:
diff changeset
30
691017a550d0 add Hash
akahori
parents:
diff changeset
31 }
691017a550d0 add Hash
akahori
parents:
diff changeset
32
691017a550d0 add Hash
akahori
parents:
diff changeset
33 public byte[] ripemd160(byte[] input){
691017a550d0 add Hash
akahori
parents:
diff changeset
34 RIPEMD160Digest digest = new RIPEMD160Digest();
691017a550d0 add Hash
akahori
parents:
diff changeset
35 byte[] resBuf = new byte[digest.getDigestSize()];
691017a550d0 add Hash
akahori
parents:
diff changeset
36 if(input != null) {
691017a550d0 add Hash
akahori
parents:
diff changeset
37 digest.update(input, 0, input.length);
691017a550d0 add Hash
akahori
parents:
diff changeset
38 digest.doFinal(resBuf, 0);
691017a550d0 add Hash
akahori
parents:
diff changeset
39 }else{
691017a550d0 add Hash
akahori
parents:
diff changeset
40 throw new NullPointerException("Can't ripemd160 input is null.");
691017a550d0 add Hash
akahori
parents:
diff changeset
41 }
691017a550d0 add Hash
akahori
parents:
diff changeset
42 return resBuf;
691017a550d0 add Hash
akahori
parents:
diff changeset
43 }
691017a550d0 add Hash
akahori
parents:
diff changeset
44
110
eab161e557bd fix Refactor
akahori
parents: 106
diff changeset
45
eab161e557bd fix Refactor
akahori
parents: 106
diff changeset
46
106
691017a550d0 add Hash
akahori
parents:
diff changeset
47 }