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


Java Cipher.WRAP_MODE屬性代碼示例

本文整理匯總了Java中javax.crypto.Cipher.WRAP_MODE屬性的典型用法代碼示例。如果您正苦於以下問題:Java Cipher.WRAP_MODE屬性的具體用法?Java Cipher.WRAP_MODE怎麽用?Java Cipher.WRAP_MODE使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在javax.crypto.Cipher的用法示例。


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

示例1: engineGetOutputSize

public int engineGetOutputSize(int inputLen)
{
    int len1, len2, len3;

    len1 = engine.getMac().getMacSize();

    if (key != null)
    {
        len2 = 1 + 2 * (((ECKey)key).getParameters().getCurve().getFieldSize() + 7) / 8;
    }
    else
    {
        throw new IllegalStateException("cipher not initialised");
    }

    if (engine.getCipher() == null)
    {
        len3 = inputLen;
    }
    else if (state == Cipher.ENCRYPT_MODE || state == Cipher.WRAP_MODE)
    {
        len3 = engine.getCipher().getOutputSize(inputLen);
    }
    else if (state == Cipher.DECRYPT_MODE || state == Cipher.UNWRAP_MODE)
    {
        len3 = engine.getCipher().getOutputSize(inputLen - len1 - len2);
    }
    else
    {
        throw new IllegalStateException("cipher not initialised");
    }

    if (state == Cipher.ENCRYPT_MODE || state == Cipher.WRAP_MODE)
    {
        return buffer.size() + len1 + len2 + len3;
    }
    else if (state == Cipher.DECRYPT_MODE || state == Cipher.UNWRAP_MODE)
    {
        return buffer.size() - len1 - len2 + len3;
    }
    else
    {
        throw new IllegalStateException("cipher not initialised");
    }

}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:46,代碼來源:IESCipher.java

示例2: engineGetOutputSize

protected int engineGetOutputSize(
    int     inputLen) 
{
    if (state == Cipher.ENCRYPT_MODE || state == Cipher.WRAP_MODE)
    {
        return buffer.size() + inputLen + 20; /* SHA1 MAC size */
    }
    else if (state == Cipher.DECRYPT_MODE || state == Cipher.UNWRAP_MODE)
    {
        return buffer.size() + inputLen - 20;
    }
    else
    {
        throw new IllegalStateException("cipher not initialised");
    }
}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:16,代碼來源:CipherSpi.java

示例3: engineInit

protected void engineInit(
    int                 opmode,
    Key                 key,
    SecureRandom        random) 
throws InvalidKeyException
{
    if (opmode == Cipher.ENCRYPT_MODE || opmode == Cipher.WRAP_MODE)
    {
        try
        {
            engineInit(opmode, key, (AlgorithmParameterSpec)null, random);
            return;
        }
        catch (InvalidAlgorithmParameterException e)
        {
            // fall through...
        }
    }

    throw new IllegalArgumentException("can't handle null parameter spec in IES");
}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:21,代碼來源:CipherSpi.java

示例4: engineGetOutputSize

protected int engineGetOutputSize(
    int     inputLen)
{
    if (state == Cipher.ENCRYPT_MODE || state == Cipher.WRAP_MODE)
    {
        return buffer.size() + inputLen + 20; /* SHA1 MAC size */
    }
    else if (state == Cipher.DECRYPT_MODE || state == Cipher.UNWRAP_MODE)
    {
        return buffer.size() + inputLen - 20;
    }
    else
    {
        throw new IllegalStateException("cipher not initialised");
    }
}
 
開發者ID:BiglySoftware,項目名稱:BiglyBT,代碼行數:16,代碼來源:JCEIESCipher.java

示例5: engineInit

protected void engineInit(
    int                 opmode,
    Key                 key,
    SecureRandom        random)
throws InvalidKeyException
{
    if (opmode == Cipher.ENCRYPT_MODE || opmode == Cipher.WRAP_MODE)
    {
        try
        {
            engineInit(opmode, key, (AlgorithmParameterSpec)null, random);
            return;
        }
        catch (InvalidAlgorithmParameterException e)
        {
            // fall through...
        }
    }

    throw new IllegalArgumentException("can't handle null parameter spec in IES");
}
 
開發者ID:BiglySoftware,項目名稱:BiglyBT,代碼行數:21,代碼來源:JCEIESCipher.java

示例6: engineGetOutputSize

public int engineGetOutputSize(int inputLen)
{
    int len1, len2, len3;

    len1 = engine.getMac().getMacSize();

    if (key != null)
    {
        len2 = ((DHKey)key).getParams().getP().bitLength() / 8 + 1;
    }
    else
    {
        throw new IllegalStateException("cipher not initialised");
    }

    if (engine.getCipher() == null)
    {
        len3 = inputLen;
    }
    else if (state == Cipher.ENCRYPT_MODE || state == Cipher.WRAP_MODE)
    {
        len3 = engine.getCipher().getOutputSize(inputLen);
    }
    else if (state == Cipher.DECRYPT_MODE || state == Cipher.UNWRAP_MODE)
    {
        len3 = engine.getCipher().getOutputSize(inputLen - len1 - len2);
    }
    else
    {
        throw new IllegalStateException("cipher not initialised");
    }

    if (state == Cipher.ENCRYPT_MODE || state == Cipher.WRAP_MODE)
    {
        return buffer.size() + len1 + len2 + len3;
    }
    else if (state == Cipher.DECRYPT_MODE || state == Cipher.UNWRAP_MODE)
    {
        return buffer.size() - len1 - len2 + len3;
    }
    else
    {
        throw new IllegalStateException("IESCipher not initialised");
    }

}
 
開發者ID:Appdome,項目名稱:ipack,代碼行數:46,代碼來源:IESCipher.java


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