16e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrompackage org.bouncycastle.crypto.digests; 2c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom 3c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstromimport java.io.ByteArrayOutputStream; 4c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom 5c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstromimport org.bouncycastle.crypto.Digest; 6c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom 7c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom 8c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrompublic class NullDigest 9c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom implements Digest 10c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom{ 11c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom private ByteArrayOutputStream bOut = new ByteArrayOutputStream(); 12c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom 13c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom public String getAlgorithmName() 14c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom { 15c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom return "NULL"; 16c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom } 17c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom 18c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom public int getDigestSize() 19c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom { 20c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom return bOut.size(); 21c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom } 22c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom 23c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom public void update(byte in) 24c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom { 25c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom bOut.write(in); 26c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom } 27c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom 28c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom public void update(byte[] in, int inOff, int len) 29c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom { 30c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom bOut.write(in, inOff, len); 31c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom } 32c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom 33c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom public int doFinal(byte[] out, int outOff) 34c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom { 35c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom byte[] res = bOut.toByteArray(); 36c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom 37c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom System.arraycopy(res, 0, out, outOff, res.length); 38c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom 39c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom reset(); 40c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom 41c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom return res.length; 42c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom } 43c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom 44c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom public void reset() 45c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom { 46c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom bOut.reset(); 47c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom } 48c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom}