| /* |
| * Created on 6/05/2006 |
| * |
| * To change the template for this generated file go to |
| * Window>Preferences>Java>Code Generation>Code and Comments |
| */ |
| package org.bouncycastle.crypto.test; |
| |
| import org.bouncycastle.crypto.ExtendedDigest; |
| import org.bouncycastle.crypto.digests.SHA1Digest; |
| import org.bouncycastle.crypto.digests.SHA512Digest; |
| import org.bouncycastle.crypto.digests.ShortenedDigest; |
| import org.bouncycastle.util.test.SimpleTest; |
| |
| public class ShortenedDigestTest |
| extends SimpleTest |
| { |
| public void performTest() |
| { |
| ExtendedDigest d = new SHA1Digest(); |
| ShortenedDigest sd = new ShortenedDigest(new SHA1Digest(), 10); |
| |
| if (sd.getDigestSize() != 10) |
| { |
| fail("size check wrong for SHA-1"); |
| } |
| |
| if (sd.getByteLength() != d.getByteLength()) |
| { |
| fail("byte length check wrong for SHA-1"); |
| } |
| |
| // |
| // check output fits |
| // |
| sd.doFinal(new byte[10], 0); |
| |
| d = new SHA512Digest(); |
| sd = new ShortenedDigest(new SHA512Digest(), 20); |
| |
| if (sd.getDigestSize() != 20) |
| { |
| fail("size check wrong for SHA-512"); |
| } |
| |
| if (sd.getByteLength() != d.getByteLength()) |
| { |
| fail("byte length check wrong for SHA-512"); |
| } |
| |
| // |
| // check output fits |
| // |
| sd.doFinal(new byte[20], 0); |
| |
| try |
| { |
| new ShortenedDigest(null, 20); |
| |
| fail("null parameter not caught"); |
| } |
| catch (IllegalArgumentException e) |
| { |
| // expected |
| } |
| |
| try |
| { |
| new ShortenedDigest(new SHA1Digest(), 50); |
| |
| fail("short digest not caught"); |
| } |
| catch (IllegalArgumentException e) |
| { |
| // expected |
| } |
| } |
| |
| public String getName() |
| { |
| return "ShortenedDigest"; |
| } |
| |
| public static void main( |
| String[] args) |
| { |
| runTest(new ShortenedDigestTest()); |
| } |
| } |