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:net.sportics.dni.rt.client.microedition.net.SrtsApi.java

License:Open Source License

final String encodePassword(final String sid, final String password) {
    try {//from   ww w. j  av a2  s . c  om
        final Digest digester = new SHA256Digest();
        final byte[] asArray = Strings.toUTF8ByteArray(password);
        digester.update(asArray, 0, asArray.length);
        final int length = digester.getDigestSize();
        final byte[] digest = new byte[length];
        digester.doFinal(digest, 0);
        final byte[] hex = Hex.encode(digest);
        final String hexString = new String(hex, USASCII_ENC);
        final String auth = sid + ":" + hexString;
        LOG.debug("pwd as auth: " + auth);
        final byte[] asBytes = auth.getBytes(USASCII_ENC);
        final byte[] base64 = Base64.encode(asBytes);
        final String base64String = new String(base64, USASCII_ENC);
        LOG.debug("auth as base64: " + base64String);
        return base64String;
    } catch (final UnsupportedEncodingException e) {
        throw new RuntimeException("Unsupported encoding US-ASCII");
    }
}

From source file:no.digipost.api.client.filters.response.ResponseContentSHA256Filter.java

License:Apache License

private void validerBytesMotHashHeader(final String serverHash, final byte[] entityBytes) {
    SHA256Digest digest = new SHA256Digest();

    digest.update(entityBytes, 0, entityBytes.length);
    byte[] result = new byte[digest.getDigestSize()];
    digest.doFinal(result, 0);//  w  w  w  .j ava 2 s .c  o m
    String ourHash = new String(Base64.encode(result));
    if (!serverHash.equals(ourHash)) {
        throw new DigipostClientException(SERVER_SIGNATURE_ERROR,
                "X-Content-SHA256-header matchet ikke innholdet - server-signatur er feil.");
    }
}

From source file:org.albertschmitt.crypto.common.HMAC.java

License:Open Source License

public static String sha256(byte[] msg, byte[] keyBytes) throws UnsupportedEncodingException {
    SHA256Digest digest = new SHA256Digest();
    return hmacDigest(msg, keyBytes, digest);
}

From source file:org.albertschmitt.crypto.common.HMAC.java

License:Open Source License

public static String sha256(String msg, byte[] keyBytes) throws UnsupportedEncodingException {
    SHA256Digest digest = new SHA256Digest();
    return hmacDigest(msg.getBytes("UTF-8"), keyBytes, digest);
}

From source file:org.apache.cxf.rs.security.jose.jwe.PbesHmacAesWrapKeyEncryptionAlgorithm.java

License:Apache License

static byte[] createDerivedKey(String keyAlgoJwt, int keySize, byte[] password, byte[] saltInput,
        int pbesCount) {
    byte[] saltValue = createSaltValue(keyAlgoJwt, saltInput);
    Digest digest = null;//ww w  .ja v a 2s  .  c  o m
    int macSigSize = PBES_HMAC_MAP.get(keyAlgoJwt);
    if (macSigSize == 256) {
        digest = new SHA256Digest();
    } else if (macSigSize == 384) {
        digest = new SHA384Digest();
    } else {
        digest = new SHA512Digest();
    }
    PKCS5S2ParametersGenerator gen = new PKCS5S2ParametersGenerator(digest);
    gen.init(password, saltValue, pbesCount);
    return ((KeyParameter) gen.generateDerivedParameters(keySize * 8)).getKey();
}

From source file:org.apache.nifi.processors.standard.util.crypto.PBKDF2CipherProvider.java

License:Apache License

private Digest resolvePRF(final String prf) {
    if (StringUtils.isEmpty(prf)) {
        throw new IllegalArgumentException("Cannot resolve empty PRF");
    }/*w  w  w. ja  va 2s. c om*/
    String formattedPRF = prf.toLowerCase().replaceAll("[\\W]+", "");
    logger.debug("Resolved PRF {} to {}", prf, formattedPRF);
    switch (formattedPRF) {
    case "md5":
        return new MD5Digest();
    case "sha1":
        return new SHA1Digest();
    case "sha384":
        return new SHA384Digest();
    case "sha256":
        return new SHA256Digest();
    case "sha512":
        return new SHA512Digest();
    default:
        logger.warn("Could not resolve PRF {}. Using default PRF {} instead", prf, DEFAULT_PRF);
        return new SHA512Digest();
    }
}

From source file:org.apache.openmeetings.util.crypt.SHA256Implementation.java

License:Apache License

private static String hash(String str, byte[] salt, int iter) {
    PKCS5S2ParametersGenerator gen = new PKCS5S2ParametersGenerator(new SHA256Digest());
    gen.init(str.getBytes(StandardCharsets.UTF_8), salt, iter);
    byte[] dk = ((KeyParameter) gen.generateDerivedParameters(KEY_LENGTH)).getKey();
    return Base64.encodeBase64String(dk);
}

From source file:org.bunkr.cli.commands.HashCommand.java

License:Open Source License

private GeneralDigest getDigest(String algorithm) throws CLIException {
    if (algorithm.equals("md5"))
        return new MD5Digest();
    if (algorithm.equals("sha1"))
        return new SHA1Digest();
    if (algorithm.equals("sha224"))
        return new SHA224Digest();
    if (algorithm.equals("sha256"))
        return new SHA256Digest();
    throw new CLIException("unsupported algorithm: " + algorithm);
}

From source file:org.bunkr.core.descriptor.PBKDF2Descriptor.java

License:Open Source License

@Override
public Inventory readInventoryFromBytes(byte[] source, UserSecurityProvider usp) throws BaseBunkrException {
    try {/*  w w  w  .ja  va 2  s.  c  o  m*/
        if (this.encryptionAlgorithm == Encryption.NONE)
            throw new IllegalArgumentException("PBKDF2Descriptor requires an active encryption mode");

        PKCS5S2ParametersGenerator g = new PKCS5S2ParametersGenerator(new SHA256Digest());
        g.init(usp.getHashedPassword(), this.pbkdf2Salt, this.pbkdf2Iterations);
        ParametersWithIV kp = (ParametersWithIV) g.generateDerivedParameters(
                this.encryptionAlgorithm.keyByteLength * 8, this.encryptionAlgorithm.ivByteLength * 8);

        byte[] decryptedInv = SimpleAES.decrypt(this.encryptionAlgorithm, source,
                ((KeyParameter) kp.getParameters()).getKey(), kp.getIV());

        return InventoryJSON.decode(new String(decryptedInv));
    } catch (IllegalPasswordException | CryptoException e) {
        throw new BaseBunkrException(e);
    }
}

From source file:org.bunkr.core.descriptor.PBKDF2Descriptor.java

License:Open Source License

@Override
public byte[] writeInventoryToBytes(Inventory source, UserSecurityProvider usp) throws BaseBunkrException {
    try {/*from   w  ww  .  j a  v  a  2s .co m*/
        byte[] inventoryJsonBytes = InventoryJSON.encode(source).getBytes();

        if (this.encryptionAlgorithm == Encryption.NONE)
            throw new IllegalArgumentException("PBKDF2Descriptor requires an active encryption mode");

        // first refresh the salt
        RandomMaker.fill(this.pbkdf2Salt);

        PKCS5S2ParametersGenerator g = new PKCS5S2ParametersGenerator(new SHA256Digest());
        g.init(usp.getHashedPassword(), this.pbkdf2Salt, this.pbkdf2Iterations);
        ParametersWithIV kp = (ParametersWithIV) g.generateDerivedParameters(
                this.encryptionAlgorithm.keyByteLength * 8, this.encryptionAlgorithm.ivByteLength * 8);

        // encrypt the inventory
        byte[] encryptedInv = SimpleAES.encrypt(this.encryptionAlgorithm, inventoryJsonBytes,
                ((KeyParameter) kp.getParameters()).getKey(), kp.getIV());
        Arrays.fill(inventoryJsonBytes, (byte) 0);

        return encryptedInv;
    } catch (IllegalPasswordException | CryptoException e) {
        throw new BaseBunkrException(e);
    }
}