1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage org.bouncycastle.crypto.io; 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.FilterOutputStream; 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.IOException; 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.OutputStream; 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.bouncycastle.crypto.Digest; 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class DigestOutputStream 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project extends FilterOutputStream 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected Digest digest; 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public DigestOutputStream( 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project OutputStream stream, 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Digest digest) 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super(stream); 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project this.digest = digest; 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void write(int b) 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throws IOException 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project digest.update((byte)b); 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project out.write(b); 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void write( 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] b, 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int off, 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int len) 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throws IOException 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project digest.update(b, off, len); 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project out.write(b, off, len); 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public Digest getDigest() 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return digest; 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 44