当前位置: 首页>>代码示例>>Java>>正文


Java ArcFourHmac.decryptRaw方法代码示例

本文整理汇总了Java中sun.security.krb5.internal.crypto.ArcFourHmac.decryptRaw方法的典型用法代码示例。如果您正苦于以下问题:Java ArcFourHmac.decryptRaw方法的具体用法?Java ArcFourHmac.decryptRaw怎么用?Java ArcFourHmac.decryptRaw使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sun.security.krb5.internal.crypto.ArcFourHmac的用法示例。


在下文中一共展示了ArcFourHmac.decryptRaw方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: arcFourDecrypt

import sun.security.krb5.internal.crypto.ArcFourHmac; //导入方法依赖的package包/类
private void arcFourDecrypt(WrapToken token, byte[] ciphertext,
    int cStart, int cLen, byte[] plaintext, int pStart)
    throws GSSException {

    // obtain Sequence number needed for decryption
    // first decrypt the Sequence Number using checksum
    byte[] seqNum = decryptSeq(token.getChecksum(),
            token.getEncSeqNumber(), 0, 8);

    byte[] ptext;
    try {
        ptext = ArcFourHmac.decryptRaw(keybytes, KG_USAGE_SEAL, ZERO_IV,
            ciphertext, cStart, cLen, seqNum);
    } catch (GeneralSecurityException e) {
        GSSException ge = new GSSException(GSSException.FAILURE, -1,
            "Could not use ArcFour Cipher - " + e.getMessage());
        ge.initCause(e);
        throw ge;
    }

    /*
    Krb5Token.debug("\narcFourDecrypt in: " +
        Krb5Token.getHexBytes(ciphertext, cStart, cLen));
    Krb5Token.debug("\narcFourDecrypt plain: " +
        Krb5Token.getHexBytes(ptext));
    */

    // Strip out confounder and padding
    /*
     * There is always at least one padding byte. The padding bytes
     * are all the value of the number of padding bytes.
     */
    int padSize = ptext[ptext.length - 1];
    if (padSize < 1)
        throw new GSSException(GSSException.DEFECTIVE_TOKEN, -1,
            "Invalid padding on Wrap Token");

    token.padding = WrapToken.pads[padSize];
    int len = ptext.length - WrapToken.CONFOUNDER_SIZE - padSize;

    System.arraycopy(ptext, WrapToken.CONFOUNDER_SIZE,
        plaintext, pStart, len);

    // Krb5Token.debug("\narcFourDecrypt plaintext: " +
    //    Krb5Token.getHexBytes(plaintext));

    // Needed to calculate checksum
    System.arraycopy(ptext, 0, token.confounder,
        0, WrapToken.CONFOUNDER_SIZE);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:51,代码来源:CipherHelper.java


注:本文中的sun.security.krb5.internal.crypto.ArcFourHmac.decryptRaw方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。