jtulach@44: /* jtulach@44: * To change this template, choose Tools | Templates jtulach@44: * and open the template in the editor. jtulach@44: */ jtulach@44: jtulach@44: package test; jtulach@44: jtulach@44: import java.nio.ByteBuffer; jtulach@44: import org.apidesign.spi.security.Digestor; jtulach@44: jtulach@44: /** jtulach@44: * jtulach@51: * @author Jaroslav Tulach jtulach@44: */ jtulach@51: // BEGIN: day.end.bridges.CountingDigestor jtulach@44: public final class CountingDigestor extends Digestor { jtulach@44: @Override jtulach@44: protected byte[] digest(int[] data) { jtulach@44: int i = data[0]; jtulach@154: byte[] arr = { jtulach@154: (byte) (i & 255), jtulach@154: (byte) ((i >> 8) & 255), jtulach@154: (byte) ((i >> 16) & 255), jtulach@154: (byte) ((i >> 24) & 255) jtulach@154: }; jtulach@44: return arr; jtulach@44: } jtulach@44: jtulach@44: @Override jtulach@44: protected int[] create(String algorithm) { jtulach@211: return "cnt".equals(algorithm) ? new int[1] : null; jtulach@44: } jtulach@44: jtulach@44: @Override jtulach@44: protected void update(int[] data, ByteBuffer input) { jtulach@44: data[0] += input.remaining(); jtulach@44: input.position(input.position() + input.remaining()); jtulach@44: } jtulach@44: } jtulach@51: // END: day.end.bridges.CountingDigestor