當前位置: 首頁>>代碼示例>>Java>>正文


Java InvalidCipherTextException類代碼示例

本文整理匯總了Java中org.bouncycastle.crypto.InvalidCipherTextException的典型用法代碼示例。如果您正苦於以下問題:Java InvalidCipherTextException類的具體用法?Java InvalidCipherTextException怎麽用?Java InvalidCipherTextException使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


InvalidCipherTextException類屬於org.bouncycastle.crypto包,在下文中一共展示了InvalidCipherTextException類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: main

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
public static void main(String[] args) throws InvalidKeyException, DataLengthException, NoSuchAlgorithmException, InvalidKeySpecException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException, UnsupportedEncodingException, IllegalStateException, InvalidCipherTextException
	{

		try 
		{
			UIManager.setLookAndFeel("com.pagosoft.plaf.PgsLookAndFeel");
		}

		catch (Exception e)
		{
			;
		}
		GUI MainGUI = new GUI();
		MainGUI.ConstructGUI();
		
//		String CT = TextEncrypt.CBCDecrypt("8mjf2sqScPChi5lJQut6U5phB6IW8ze90WdqDm+ulLU1NWI2ODZlYzVmMjYxYTA5", "secret", 256, 0, "Q");
//		
//		System.out.println(CT);

	}
 
開發者ID:MonroCoury,項目名稱:CryptoKnight,代碼行數:21,代碼來源:Main.java

示例2: CBCEncrypt

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
public static String CBCEncrypt(int alg, int KeySize, String inFile, String pwd, String mode) throws NoSuchAlgorithmException, InvalidKeySpecException, DataLengthException, IllegalStateException, InvalidCipherTextException, IOException, InvalidKeyException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException
{
	String res = "";
	
	byte[] plain = loadFile(inFile);
	
	Encryptor enc = new Encryptor();
	enc.setParameters(KeySize, alg);
	enc.setEncParameters(alg, pwd, KeySize, mode);
	byte[] bytesRes = enc.CBCEncrypt(plain, alg);
	
	save2File(inFile + ".enc", bytesRes);
	
	res = "Done! file contents encrypted and saved to a corresponding enc file!"; 
	return res;
}
 
開發者ID:MonroCoury,項目名稱:CryptoKnight,代碼行數:17,代碼來源:FileEncrypt.java

示例3: CBCDecrypt

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
public static String CBCDecrypt(int alg, int KeySize, String inFile, String pwd, String mode) throws NoSuchAlgorithmException, InvalidKeySpecException, DataLengthException, IllegalStateException, InvalidCipherTextException, IOException
{
	String res = "";
	
	if (checkFile(inFile.substring(0, inFile.lastIndexOf("."))))
	{
		res = "A file with the same name already exists! Rename or move it to avoid losing your data!";
		return res;
	}
	
	byte[] Encrypted = loadFile(inFile);
	
	
	Encryptor enc = new Encryptor();
	enc.setParameters(KeySize, alg);
	enc.setDecParameters(Encrypted, alg, pwd, KeySize, mode);
	byte[] bytesRes = enc.CBCDecrypt(Encrypted, alg);
	
	save2File(inFile.substring(0, inFile.lastIndexOf(".")), bytesRes);
	
	res = "Done! file contents decrypted and saved to the specified directory!"; 
	return res;
}
 
開發者ID:MonroCoury,項目名稱:CryptoKnight,代碼行數:24,代碼來源:FileEncrypt.java

示例4: padCount

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
/**
 * return the number of pad bytes present in the block.
 */
public int padCount(byte[] in)
    throws InvalidCipherTextException
{
    int count = in[in.length - 1] & 0xff;

    if (count > in.length || count == 0)
    {
        throw new InvalidCipherTextException("pad block corrupted");
    }
    
    for (int i = 1; i <= count; i++)
    {
        if (in[in.length - i] != count)
        {
            throw new InvalidCipherTextException("pad block corrupted");
        }
    }

    return count;
}
 
開發者ID:PhilippC,項目名稱:keepass2android,代碼行數:24,代碼來源:PKCS7Padding.java

示例5: generateUnwrappedKey

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
public GenericKey generateUnwrappedKey(AlgorithmIdentifier encryptedKeyAlgorithm, byte[] encryptedKey)
    throws OperatorException
{
    AsymmetricBlockCipher keyCipher = createAsymmetricUnwrapper(this.getAlgorithmIdentifier().getAlgorithm());

    keyCipher.init(false, privateKey);
    try
    {
        byte[] key = keyCipher.processBlock(encryptedKey, 0, encryptedKey.length);

        if (encryptedKeyAlgorithm.getAlgorithm().equals(PKCSObjectIdentifiers.des_EDE3_CBC))
        {
            return new GenericKey(encryptedKeyAlgorithm, key);
        }
        else
        {
            return new GenericKey(encryptedKeyAlgorithm, key);
        }
    }
    catch (InvalidCipherTextException e)
    {
        throw new OperatorException("unable to recover secret key: " + e.getMessage(), e);
    }
}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:25,代碼來源:BcAsymmetricKeyUnwrapper.java

示例6: processBlock

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
public byte[] processBlock(byte[] in, int inOff, int len)
    throws InvalidCipherTextException
{
    byte[] tmp = new byte[len];

    System.arraycopy(in, inOff, tmp, 0, len);

    if (forEncryption)
    {
        return encrypt(tmp, pubKey);
    }
    else
    {
        return decrypt(tmp, privKey);
    }
}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:17,代碼來源:NTRUEngine.java

示例7: decryptPreMasterSecret

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
public byte[] decryptPreMasterSecret(byte[] encryptedPreMasterSecret)
    throws IOException
{

    PKCS1Encoding encoding = new PKCS1Encoding(new RSABlindedEngine());
    encoding.init(false, new ParametersWithRandom(this.privateKey, context.getSecureRandom()));

    try
    {
        return encoding.processBlock(encryptedPreMasterSecret, 0,
            encryptedPreMasterSecret.length);
    }
    catch (InvalidCipherTextException e)
    {
        throw new TlsFatalAlert(AlertDescription.illegal_parameter);
    }
}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:18,代碼來源:DefaultTlsEncryptionCredentials.java

示例8: padCount

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
/**
 * return the number of pad bytes present in the block.
 */
public int padCount(byte[] in)
    throws InvalidCipherTextException
{
    int count = in.length;

    while (count > 0)
    {
        if (in[count - 1] != 0)
        {
            break;
        }

        count--;
    }

    return in.length - count;
}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:21,代碼來源:ZeroBytePadding.java

示例9: padCount

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
/**
 * return the number of pad bytes present in the block.
 */
public int padCount(byte[] in)
    throws InvalidCipherTextException
{
    int count = in.length - 1;

    while (count > 0 && in[count] == 0)
    {
        count--;
    }

    if (in[count] != (byte)0x80)
    {
        throw new InvalidCipherTextException("pad block corrupted");
    }
    
    return in.length - count;
}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:21,代碼來源:ISO7816d4Padding.java

示例10: engineDoFinal

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
protected byte[] engineDoFinal(
    byte[]  input,
    int     inputOffset,
    int     inputLen) 
    throws IllegalBlockSizeException, BadPaddingException
{
    if (inputLen != 0)
    {
        buffer.write(input, inputOffset, inputLen);
    }

    try
    {
        byte[]  buf = buffer.toByteArray();

        buffer.reset();

        return cipher.processBlock(buf, 0, buf.length);
    }
    catch (InvalidCipherTextException e)
    {
        throw new BadPaddingException(e.getMessage());
    }
}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:25,代碼來源:CipherSpi.java

示例11: engineDoFinal

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
protected byte[] engineDoFinal(
    byte[]  input,
    int     inputOffset,
    int     inputLen) 
    throws IllegalBlockSizeException, BadPaddingException
{
    cipher.processBytes(input, inputOffset, inputLen);
    try
    {
        return cipher.doFinal();
    }
    catch (InvalidCipherTextException e)
    {
        throw new BadPaddingException(e.getMessage());
    }
}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:17,代碼來源:CipherSpi.java

示例12: extractSecretKey

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
protected KeyParameter extractSecretKey(AlgorithmIdentifier keyEncryptionAlgorithm, AlgorithmIdentifier contentEncryptionAlgorithm, byte[] derivedKey, byte[] encryptedContentEncryptionKey)
    throws CMSException
{
    Wrapper keyEncryptionCipher = EnvelopedDataHelper.createRFC3211Wrapper(keyEncryptionAlgorithm.getAlgorithm());

    keyEncryptionCipher.init(false, new ParametersWithIV(new KeyParameter(derivedKey), ASN1OctetString.getInstance(keyEncryptionAlgorithm.getParameters()).getOctets()));

    try
    {
        return new KeyParameter(keyEncryptionCipher.unwrap(encryptedContentEncryptionKey, 0, encryptedContentEncryptionKey.length));
    }
    catch (InvalidCipherTextException e)
    {
        throw new CMSException("unable to unwrap key: " + e.getMessage(), e);
    }
}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:17,代碼來源:BcPasswordRecipient.java

示例13: aesEncrypt

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
public static byte[] aesEncrypt(byte[] plaintext, byte[] myPrivateKey, byte[] theirPublicKey, byte[] nonce) {
    try {
        byte[] dhSharedSecret = new byte[32];
        Curve25519.curve(dhSharedSecret, myPrivateKey, theirPublicKey);
        for (int i = 0; i < 32; i++) {
            dhSharedSecret[i] ^= nonce[i];
        }
        byte[] key = sha256().digest(dhSharedSecret);
        byte[] iv = new byte[16];
        secureRandom.get().nextBytes(iv);
        PaddedBufferedBlockCipher aes = new PaddedBufferedBlockCipher(new CBCBlockCipher(
                new AESEngine()));
        CipherParameters ivAndKey = new ParametersWithIV(new KeyParameter(key), iv);
        aes.init(true, ivAndKey);
        byte[] output = new byte[aes.getOutputSize(plaintext.length)];
        int ciphertextLength = aes.processBytes(plaintext, 0, plaintext.length, output, 0);
        ciphertextLength += aes.doFinal(output, ciphertextLength);
        byte[] result = new byte[iv.length + ciphertextLength];
        System.arraycopy(iv, 0, result, 0, iv.length);
        System.arraycopy(output, 0, result, iv.length, ciphertextLength);
        return result;
    } catch (InvalidCipherTextException e) {
        throw new RuntimeException(e.getMessage(), e);
    }
}
 
開發者ID:muhatzg,項目名稱:burstcoin,代碼行數:26,代碼來源:Crypto.java

示例14: finish

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
/**
 * Finishes and voids this cipher output stream.
 * Calling this method causes all remaining buffered bytes to get written
 * and padded if necessary.
 * Afterwards, this stream will behave as if it had been closed, although
 * the decorated stream may still be open.
 *
 * @throws IOException If {@code out} or {@code cipher} aren't properly
 *         initialized, an I/O error occurs or the cipher
 *         text is invalid because some required padding is missing.
 */
public void finish() throws IOException {
    final BufferedBlockCipher cipher = this.cipher;
    if (null == cipher)
        return;
    this.cipher = null;

    int cipherLen = cipher.getOutputSize(0);
    byte[] cipherOut = this.buffer;
    if (cipherLen > cipherOut.length)
        this.buffer = cipherOut = new byte[cipherLen];
    try {
        cipherLen = cipher.doFinal(cipherOut, 0);
    } catch (InvalidCipherTextException ex) {
        throw new IOException(ex);
    }
    out.write(cipherOut, 0, cipherLen);
}
 
開發者ID:christian-schlichtherle,項目名稱:truevfs,代碼行數:29,代碼來源:CipherOutputStream.java

示例15: aesDecrypt

import org.bouncycastle.crypto.InvalidCipherTextException; //導入依賴的package包/類
public static byte[] aesDecrypt(byte[] ivCiphertext, byte[] myPrivateKey, byte theirPublicKey[]) {
    try {
        if (ivCiphertext.length < 16 || ivCiphertext.length % 16 != 0) {
            throw new InvalidCipherTextException("invalid ciphertext");
        }
        byte[] iv = Arrays.copyOfRange(ivCiphertext, 0, 16);
        byte[] ciphertext = Arrays.copyOfRange(ivCiphertext, 16, ivCiphertext.length);
        byte[] dhSharedSecret = new byte[32];
        Curve25519.curve(dhSharedSecret, myPrivateKey, theirPublicKey);
        byte[] key = sha256().digest(dhSharedSecret);
        PaddedBufferedBlockCipher aes = new PaddedBufferedBlockCipher(new CBCBlockCipher(
                new AESEngine()));
        CipherParameters ivAndKey = new ParametersWithIV(new KeyParameter(key), iv);
        aes.init(false, ivAndKey);
        byte[] output = new byte[aes.getOutputSize(ciphertext.length)];
        int plaintextLength = aes.processBytes(ciphertext, 0, ciphertext.length, output, 0);
        plaintextLength += aes.doFinal(output, plaintextLength);
        byte[] result = new byte[plaintextLength];
        System.arraycopy(output, 0, result, 0, result.length);
        return result;
    } catch (InvalidCipherTextException e) {
        throw new RuntimeException(e.getMessage(), e);
    }
}
 
開發者ID:de-luxe,項目名稱:burstcoin-faucet,代碼行數:25,代碼來源:Crypto.java


注:本文中的org.bouncycastle.crypto.InvalidCipherTextException類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。