Example usage for org.bouncycastle.crypto.digests SHA256Digest SHA256Digest

List of usage examples for org.bouncycastle.crypto.digests SHA256Digest SHA256Digest

Introduction

In this page you can find the example usage for org.bouncycastle.crypto.digests SHA256Digest SHA256Digest.

Prototype

public SHA256Digest() 

Source Link

Document

Standard constructor

Usage

From source file:org.hyperledger.common.BouncyCastleCrypto.java

License:Apache License

@Override
public byte[] sign(byte[] hash, byte[] privateKey) {
    ECDSASigner signer = new ECDSASigner(new HMacDSAKCalculator(new SHA256Digest()));
    signer.init(true, new ECPrivateKeyParameters(new BigInteger(privateKey), domain));
    BigInteger[] signature = signer.generateSignature(hash);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try {/*from  w w  w  .j a va  2s. c o m*/
        DERSequenceGenerator seq = new DERSequenceGenerator(baos);
        seq.addObject(new ASN1Integer(signature[0]));
        seq.addObject(new ASN1Integer(toCanonicalS(signature[1])));
        seq.close();
        return baos.toByteArray();
    } catch (IOException e) {
        return new byte[0];
    }
}

From source file:org.hyperledger.common.PrivateKey.java

License:Apache License

/**
 * Sign a digest with this key.//from   w w  w  .ja v  a2 s. c  o  m
 *
 * @param hash arbitrary data
 * @return signature
 */
public byte[] sign(byte[] hash) {
    ECDSASigner signer = new ECDSASigner(new HMacDSAKCalculator(new SHA256Digest()));
    signer.init(true, new ECPrivateKeyParameters(priv, domain));
    BigInteger[] signature = signer.generateSignature(hash);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try {
        DERSequenceGenerator seq = new DERSequenceGenerator(baos);
        seq.addObject(new ASN1Integer(signature[0]));
        seq.addObject(new ASN1Integer(toCanonicalS(signature[1])));
        seq.close();
        return baos.toByteArray();
    } catch (IOException e) {
    }
    return null;
}

From source file:org.hyperledger.fabric.sdk.security.CryptoPrimitives.java

License:Open Source License

private Digest getHashDigest() {
    if (this.hashAlgorithm.equalsIgnoreCase("SHA3")) {
        return new SHA3Digest();
    } else if (this.hashAlgorithm.equalsIgnoreCase("SHA2")) {
        return new SHA256Digest();
    }/*from   w  w  w .j  ava 2  s.c o m*/

    return new SHA256Digest(); // default Digest?
}

From source file:org.irmacard.mno.common.EDlData.java

@Override
protected SignerWithRecovery getRSASigner() {
    SignerWithRecovery signer = null;/*w ww . j  av  a  2  s  .  c  om*/
    try {
        RSAEngine rsa = new RSAEngine();
        RSAPublicKey pub = (RSAPublicKey) getPublicKey(aaFile);
        RSAKeyParameters pubParameters = new RSAKeyParameters(false, pub.getModulus(), pub.getPublicExponent());
        signer = new ISO9796d2Signer(rsa, new SHA256Digest(), false);
        signer.init(false, pubParameters);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return signer;
}

From source file:org.jboss.totp.Token.java

License:Apache License

public Token(String name, byte hmacAlgorithm, int timeStep, String key, byte passCodeLength, int timeDelta) {
    this.name = name;
    this.hmacAlgorithm = hmacAlgorithm;
    this.timeStep = timeStep;
    this.key = key;
    this.passCodeLength = passCodeLength;
    this.timeDelta = timeDelta;

    Digest digest = null;//from   ww  w .  j a  v a  2s.co m
    switch (hmacAlgorithm) {
    case HMACAlgorithm.SHA_1:
        digest = new SHA1Digest();
        break;
    case HMACAlgorithm.SHA_256:
        digest = new SHA256Digest();
        break;
    case HMACAlgorithm.SHA_512:
        digest = new SHA512Digest();
        break;
    }
    hmac = new HMac(digest);
    byte[] secret = Base32.decode(key);
    hmac.init(new KeyParameter(secret));
}

From source file:org.jboss.totp.TOTPMIDlet.java

License:Apache License

private boolean displayToken(Display display) {
    final String warning = validateInput();
    if (warning.length() == 0) {
        siProfile.setText(tfProfile.getString());
        final int algorithmIdx = chgHmacAlgorithm.getSelectedIndex();
        final byte[] secretKey = base32Decode(tfSecret.getString());
        HMac newHmac = null;//from w  ww.  ja v a2  s  . c o  m
        if (secretKey != null) {
            Digest digest = null;
            if (SHA1.equals(HMAC_ALGORITHMS[algorithmIdx])) {
                digest = new SHA1Digest();
            } else if (SHA256.equals(HMAC_ALGORITHMS[algorithmIdx])) {
                digest = new SHA256Digest();
            } else if (SHA512.equals(HMAC_ALGORITHMS[algorithmIdx])) {
                digest = new SHA512Digest();
            }
            newHmac = new HMac(digest);
            newHmac.init(new KeyParameter(secretKey));
        }
        setHMac(newHmac);
        refreshTokenTask.run();
        display.setCurrent(fMain);

        return true;
    } else {
        displayAlert("Invalid input:\n" + warning, fOptions);

        return false;
    }
}

From source file:org.jboss.totp.TOTPMIDlet.java

License:Apache License

private boolean displayTokenFromURI(Display display) {
    OtpauthUri uri = null;//  w w  w.  jav  a2  s  .c o m
    try {
        uri = OtpauthUri.parse(tfOtpauthUri.getString());
    } catch (InvalidUriException e) {
        displayAlert("Invalid URI:\n" + e.getMessage(), fOptions);

        return false;
    }

    String profileName = uri.getIssuer() != null ? uri.getIssuer() + ":" + uri.getLabel() : uri.getLabel();
    tfProfile.setString(profileName);
    siProfile.setText(tfProfile.getString());
    tfSecret.setString(uri.getSecret());

    Digest digest = null;
    HMac newHmac = null;
    if (uri.getAlgorithm() != null) {
        if (uri.getAlgorithm().toLowerCase().equals("sha1")) {
            chgHmacAlgorithm.setSelectedIndex(0, true);
            digest = new SHA1Digest();
        } else if (uri.getAlgorithm().toLowerCase().equals("sha256")) {
            chgHmacAlgorithm.setSelectedIndex(1, true);
            digest = new SHA256Digest();
        } else if (uri.getAlgorithm().toLowerCase().equals("sha512")) {
            chgHmacAlgorithm.setSelectedIndex(2, true);
            digest = new SHA512Digest();
        }
    } else {
        digest = new SHA1Digest();
    }

    if (uri.getPeriod() != null) {
        tfTimeStep.setString(String.valueOf(uri.getPeriod()));
    }

    if (uri.getDigits() != null) {
        tfDigits.setString(String.valueOf(uri.getDigits()));
    }

    final String warning = validateInput();
    if (warning.length() > 0) {
        displayAlert("Invalid input:\n" + warning, fOptions);
        return false;
    }

    newHmac = new HMac(digest);
    newHmac.init(new KeyParameter(base32Decode(uri.getSecret())));
    setHMac(newHmac);
    refreshTokenTask.run();
    display.setCurrent(fMain);

    return true;
}

From source file:org.jclouds.encryption.bouncycastle.BouncyCastleEncryptionService.java

License:Apache License

public String hmacSha256Base64(String toEncode, byte[] key)
        throws NoSuchAlgorithmException, NoSuchProviderException, InvalidKeyException {
    Digest digest = new SHA256Digest();
    return hmacBase64(toEncode, key, digest);
}

From source file:org.jclouds.http.HttpUtils.java

License:Apache License

public static String hmacSha256Base64(String toEncode, byte[] key)
        throws NoSuchAlgorithmException, NoSuchProviderException, InvalidKeyException {
    Digest digest = new SHA256Digest();
    return hmacBase64(toEncode, key, digest);
}

From source file:org.jcryptool.visual.hashing.views.HashingView.java

License:Open Source License

private String computeHash(String hashName, String inputText, Text hashText) {
    hash = hash.getName(hashName);//from  ww  w.  java2  s .c  o m
    byte[] digest = null;
    switch (hash) {
    case MD2:
        MD2Digest md2 = new MD2Digest();
        md2.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[md2.getDigestSize()];
        md2.doFinal(digest, 0);

        break;
    case MD4:
        MD4Digest md4 = new MD4Digest();
        md4.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[md4.getDigestSize()];
        md4.doFinal(digest, 0);

        break;
    case MD5:
        MD5Digest md5 = new MD5Digest();
        md5.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[md5.getDigestSize()];
        md5.doFinal(digest, 0);

        break;
    case SHA1:
        SHA1Digest sha1 = new SHA1Digest();
        sha1.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[sha1.getDigestSize()];
        sha1.doFinal(digest, 0);

        break;
    case SHA256:
        SHA256Digest sha256 = new SHA256Digest();
        sha256.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[sha256.getDigestSize()];
        sha256.doFinal(digest, 0);

        break;
    case SHA512:
        SHA512Digest sha512 = new SHA512Digest();
        sha512.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[sha512.getDigestSize()];
        sha512.doFinal(digest, 0);

        break;
    case SHA3_224:
        SHA3.Digest224 sha3_224 = new SHA3.Digest224();
        sha3_224.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[sha3_224.getDigestLength()];
        digest = sha3_224.digest();

        break;
    case SHA3_256:
        SHA3.Digest256 sha3_256 = new SHA3.Digest256();
        sha3_256.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[sha3_256.getDigestLength()];
        digest = sha3_256.digest();

        break;
    case SHA3_384:
        SHA3.Digest384 sha3_384 = new SHA3.Digest384();
        sha3_384.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[sha3_384.getDigestLength()];
        digest = sha3_384.digest();

        break;
    case SHA3_512:
        SHA3.Digest512 sha3_512 = new SHA3.Digest512();
        sha3_512.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[sha3_512.getDigestLength()];
        digest = sha3_512.digest();

        break;
    case SKEIN_256:
        Skein.Digest_256_256 skein_256 = new Skein.Digest_256_256();
        skein_256.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[skein_256.getDigestLength()];
        digest = skein_256.digest();

        break;
    case SKEIN_512:
        Skein.Digest_512_512 skein_512 = new Skein.Digest_512_512();
        skein_512.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[skein_512.getDigestLength()];
        digest = skein_512.digest();

        break;
    case SKEIN_1024:
        Skein.Digest_1024_1024 skein_1024 = new Skein.Digest_1024_1024();
        skein_1024.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[skein_1024.getDigestLength()];
        digest = skein_1024.digest();

        break;
    case RIPEMD160:
        RIPEMD160Digest ripemd160 = new RIPEMD160Digest();
        ripemd160.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[ripemd160.getDigestSize()];
        ripemd160.doFinal(digest, 0);

        break;
    case SM3:
        SM3Digest sm3 = new SM3Digest();
        sm3.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[sm3.getDigestSize()];
        sm3.doFinal(digest, 0);

        break;
    case TIGER:
        TigerDigest tiger = new TigerDigest();
        tiger.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[tiger.getDigestSize()];
        tiger.doFinal(digest, 0);

        break;
    case GOST3411:
        GOST3411Digest gost3411 = new GOST3411Digest();
        gost3411.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[gost3411.getDigestSize()];
        gost3411.doFinal(digest, 0);

        break;
    case WHIRLPOOL:
        WhirlpoolDigest whirlpool = new WhirlpoolDigest();
        whirlpool.update(inputText.getBytes(), 0, inputText.getBytes().length);
        digest = new byte[whirlpool.getDigestSize()];
        whirlpool.doFinal(digest, 0);

        break;
    default:
        break;
    }

    String hashHexValue = new String(Hex.encode(digest));
    if (btnHexadezimal.getSelection()) {
        String hashValueOutput = hashHexValue.toUpperCase().replaceAll(".{2}", "$0 "); //$NON-NLS-1$ //$NON-NLS-2$
        hashText.setText(hashValueOutput);
    } else if (btnDezimal.getSelection()) {
        String hashValue = hexToDecimal(hashHexValue);
        hashValue = hashValue.replaceAll(".{3}", "$0 "); //$NON-NLS-1$ //$NON-NLS-2$
        hashText.setText(hashValue);
    } else if (btnBinary.getSelection()) {
        String hashValue = hexToBinary(hashHexValue);
        hashValue = hashValue.replaceAll(".{8}", "$0#"); //$NON-NLS-1$ //$NON-NLS-2$
        hashText.setText(hashValue);
    }

    return hashHexValue;
}