Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.bouncycastle.crypto.test;
  
SHA384 HMac Test
 
 public class SHA384HMacTest
     implements Test
 {
     final static String[] keys = {
         "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b",
         "4a656665",
         "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
         "0102030405060708090a0b0c0d0e0f10111213141516171819",
         "0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c",
         "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
         "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
     };
 
     final static String[] digests = {
         "afd03944d84895626b0825f4ab46907f15f9dadbe4101ec682aa034c7cebc59cfaea9ea9076ede7f4af152e8b2fa9cb6",
         "af45d2e376484031617f78d2b58a6b1b9c7ef464f5a01b47e42ec3736322445e8e2240ca5e69e2c78b3239ecfab21649",
         "88062608d3e6ad8a0aa2ace014c8a86f0aa635d947ac9febe83ef4e55966144b2a5ab39dc13814b94e3ab6e101a34f27",
         "3e8a69b7783c25851933ab6290af6ca77a9981480850009cc5577c6e1f573b4e6801dd23c4a7d679ccf8a386c674cffb",
         "3abf34c3503b2a23a46efc619baef897f4c8e42c934ce55ccbae9740fcbc1af4ca62269e2a37cd88ba926341efe4aeea",
         "4ece084485813e9088d2c63a041bc5b44f9ef1012a2b588f3cd11f05033ac4c60c2ef6ab4030fe8296248df163f44952",
         "6617178e941f020d351e2f254e8fd32c602420feb0b8fb9adccebb82461e99c5a678cc31e799176d3860e6110c46523e"
     };
 
     final static String[] messages = {
         "Hi There",
         "what do ya want for nothing?",
         "0xdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
         "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd",
         "Test With Truncation",
         "Test Using Larger Than Block-Size Key - Hash Key First",
         "This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm."
     };
    
     public String getName()
     {
         return "SHA384HMac";
     }
 
     public TestResult perform()
     {
         HMac hmac = new HMac(new SHA384Digest());
         byte[] resBuf = new byte[hmac.getMacSize()];
 
         for (int i = 0; i < .i++)
         {
             byte[] m = [i].getBytes();
             if ([i].startsWith("0x"))
             {
                 m = Hex.decode([i].substring(2));
             }
             hmac.init(new KeyParameter(Hex.decode([i])));
             hmac.update(m, 0, m.length);
             hmac.doFinal(resBuf, 0);
 
             if (!Arrays.areEqual(resBuf, Hex.decode([i])))
             {
                 return new SimpleTestResult(falsegetName() + ": Vector " + i + " failed got -" + new String(Hex.encode(resBuf)));
             }
         }
 
         //
         // test reset
         //
         int vector = 0; // vector used for test
         byte[] m = [vector].getBytes();
         if ([vector].startsWith("0x"))
         {
             m = Hex.decode([vector].substring(2));
         }
         hmac.init(new KeyParameter(Hex.decode([vector])));
         hmac.update(m, 0, m.length);
         hmac.doFinal(resBuf, 0);
         hmac.reset();
         hmac.update(m, 0, m.length);
         hmac.doFinal(resBuf, 0);
 
         if (!Arrays.areEqual(resBuf, Hex.decode([vector])))
         {
             return new SimpleTestResult(falsegetName() +
                     "Reset with vector " + vector + " failed");
         }
 
         return new SimpleTestResult(truegetName() + ": Okay");
     }
 
    public static void main(
        String[]    args)
    {
        SHA384HMacTest    test = new SHA384HMacTest();
        TestResult      result = test.perform();
        ..println(result);
    }
New to GrepCode? Check out our FAQ X