Mercurial > 510Connectbot
diff src/ch/ethz/ssh2/crypto/digest/SHA256.java @ 273:91a31873c42a ganymed
start conversion from trilead to ganymed
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Fri, 18 Jul 2014 11:21:46 -0700 |
parents | |
children | 071eccdff8ea |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ch/ethz/ssh2/crypto/digest/SHA256.java Fri Jul 18 11:21:46 2014 -0700 @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2006-2011 Christian Plattner. All rights reserved. + * Please refer to the LICENSE.txt for licensing details. + */ +package ch.ethz.ssh2.crypto.digest; + +import java.security.DigestException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +/** + * @version $Id: SHA256.java 152 2014-04-28 11:02:23Z dkocher@sudo.ch $ + */ +public final class SHA256 implements Digest { + + private MessageDigest md; + + public SHA256() { + try { + md = MessageDigest.getInstance("SHA-256"); + } + catch(NoSuchAlgorithmException e) { + throw new IllegalArgumentException(e); + } + } + + public final int getDigestLength() { + return md.getDigestLength(); + } + + public final void reset() { + md.reset(); + } + + public final void update(byte b[]) { + this.update(b, 0, b.length); + } + + public final void update(byte b[], int off, int len) { + md.update(b, off, len); + } + + public final void update(byte b) { + md.update(b); + } + + public final void digest(byte[] out) throws DigestException { + this.digest(out, 0); + } + + public final void digest(byte[] out, int off) throws DigestException { + md.digest(out, off, out.length); + } +}