Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*     */ package org.jboss.crypto.digest;
 /*     */ 
 /*     */ import java.io.ByteArrayOutputStream;
 /*     */ import java.security.MessageDigest;
 /*     */ import java.security.MessageDigestSpi;
 /*     */ import java.security.NoSuchAlgorithmException;
 /*     */ import java.security.ProviderException;
 /*     */ 
 /*     */ public class SHAInterleave extends MessageDigestSpi
/*     */ {
/*     */   private static final int SHA_HASH_LEN = 20;
/*     */   private ByteArrayOutputStream evenBytes;
/*     */   private ByteArrayOutputStream oddBytes;
/*     */   private int count;
/*     */   private boolean skipLeadingZeros;
/*     */   private MessageDigest sha;
/*     */ 
/*     */   public SHAInterleave()
/*     */   {
/*     */     try
/*     */     {
/*  54 */       this. = MessageDigest.getInstance("SHA");
/*     */     }
/*     */     catch (NoSuchAlgorithmException e)
/*     */     {
/*  58 */       throw new ProviderException("Failed to obtain SHA MessageDigest");
/*     */     }
/*  60 */     this. = new ByteArrayOutputStream();
/*  61 */     this. = new ByteArrayOutputStream();
/*  62 */     engineReset();
/*     */   }
/*     */ 
/*     */   protected int engineGetDigestLength()
/*     */   {
/*  67 */     return 40;
/*     */   }
/*     */ 
/*     */   protected byte[] engineDigest()
/*     */   {
/*  82 */     byte[] E = this..toByteArray();
/*  83 */     byte[] G = this..digest(E);
/*     */ 
/*  85 */     byte[] F = this..toByteArray();
/*  86 */     int offset = 0;
/*  87 */     if (this. % 2 == 1)
/*  88 */       offset = 1;
/*  89 */     this..reset();
/*  90 */     this..update(FoffsetF.length - offset);
/*  91 */     byte[] H = this..digest();
/*  92 */     int length = G.length + H.length;
/*  93 */     byte[] digest = new byte[length];
/*  94 */     for (int i = 0; i < G.lengthi++)
/*  95 */       digest[(2 * i)] = G[i];
/*  96 */     for (int i = 0; i < H.lengthi++)
/*  97 */       digest[(2 * i + 1)] = H[i];
/*  98 */     engineReset();
/*  99 */     return digest;
/*     */   }
/*     */ 
/*     */   protected void engineReset()
/*     */   {
/* 107 */     this. = true;
/* 108 */     this. = 0;
/* 109 */     this..reset();
/* 110 */     this..reset();
/* 111 */     this..reset();
/*     */   }
/*     */ 
/*     */   protected void engineUpdate(byte input)
/*     */   {
/* 121 */     if ((this. == true) && (input == 0))
/* 122 */       return;
/* 123 */     this. = false;
/* 124 */     if (this. % 2 == 0)
/* 125 */       this..write(input);
/*     */     else
/* 127 */       this..write(input);
/* 128 */     this. += 1;
/*     */   }
/*     */ 
/*     */   protected void engineUpdate(byte[] inputint offsetint len)
/*     */   {
/* 142 */     for (int i = offseti < offset + leni++)
/* 143 */       engineUpdate(input[i]);
/*     */   }
/*     */ }
/* Location:           /home/mnovotny/projects/EMBEDDED_JBOSS_BETA3_COMMUNITY/embedded/output/lib/embedded-jboss/lib/jboss-embedded-all.jar
 * Qualified Name:     org.jboss.crypto.digest.SHAInterleave
 * JD-Core Version:    0.6.0
 */
New to GrepCode? Check out our FAQ X