亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? idea.java

?? jpeg2000編解碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
// $Id: IDEA.java,v 1.1.1.1 2002/08/27 12:32:09 grosbois Exp $//// $Log: IDEA.java,v $// Revision 1.1.1.1  2002/08/27 12:32:09  grosbois// Add cryptix 3.2//// Revision 1.4  2000/08/17 11:40:51  edwin// java.* -> xjava.*//// Revision 1.3  1997/11/29 04:42:55  hopwood// + Changes to engineUpdate method.//// + Fixed invertKey to do the right thing (i.e. nothing) when the native//   library is being used.// + Formatting changes.//// Revision 1.2  1997/11/20 19:31:39  hopwood// + cryptix.util.* name changes.//// Revision 1.1.1.1  1997/11/03 22:36:56  hopwood// + Imported to CVS (tagged as 'start').//// Revision 0.3.2.0  1997/08/21  David Hopwood// + Removed all deprecated methods and fields. Cryptix 2.2 compatibility//   is now handled by the separate cryptix.security.IDEA class.// + Tightened some of the access specifiers (e.g. SPI methods were public,//   and are now protected).// + Ensured that this class is final, and added a comment that this is for//   security reasons.//   If it were not final, some VMs have a bug that would allow a subclass//   that implements Cloneable to call Object's or Cipher's clone() method//   using invokenonvirtual, which would duplicate the pointer to the native//   state. Then calling finalize() on the original and using the clone (for//   example) would result in freed memory being written to :-(.// + Required native code version is 2.3.//// Revision 0.3.1.0  1997/07/14  David Hopwood// + Blowfish, DES, IDEA, and Square 3.1.0 are now at the same API//   level and in the same style.// + Fixed security bug (out-of-bounds read) introduced in 3.0.1 -//   same bug as for Blowfish 3.0.5.// + Renamed outs variable in engineUpdate to temp, to avoid similarity//   with out.//// Revision 0.3.0.1  1997/07/09  R. Naffah// + Fully IJCE-compliant!// + Tested OK with and without IDEA.DLL.// + Re-wrote the JNI code to conform with modifs;// + Changed method signatures to follow same style/params as the other//   ciphers in the library;// + Changed methods mul and inv to return shorts;// + Now use one short[] as the session key;// + Brought it to the same API level as Blowfish 3.0.5 and DES 3.0.2;//// Revision 0.3.0.0  1997/07/0?  David Hopwood// + JCE, native linking, debugging, etc...//// Revision 0.2.5.2  1997/04/03  Systemics// + Documentation.  Deprecated public variables and made methods private.//// Revision 0.2.5.1  1997/03/15  Jill Baker// + Moved this file here from old namespace.//// Revision 0.2.5.0  1997/02/24  Systemics// + Original version.//// $Endlog$/* * Copyright (c) 1995-97 Systemics Ltd * on behalf of the Cryptix Development Team.  All rights reserved. */ package cryptix.provider.cipher;import cryptix.util.core.Debug;import cryptix.CryptixException;import cryptix.util.core.ArrayUtil;import cryptix.util.core.Hex;import cryptix.provider.key.RawSecretKey;import java.io.PrintWriter;import xjava.security.Cipher;import java.security.Key;import java.security.InvalidKeyException;import xjava.security.SymmetricCipher;/** * IDEA is a block cipher with a key length of 16 bytes and a block length of * 8 bytes. It is highly popular, being the original cipher in PGP, and has * received a lot of cryptanalytic attention. * <p> * IDEA was written by Dr. X. Lai and Prof. J. Massey. * <p> * <b>References:</b> * <ol> *   <li> See the <a href="http://www.ascom.ch/Web/systec/security/idea.htm">IDEA page</a> *        for more details. *        <p> *   <li> The algorithm is subject to patent claims by *        <a href="http://www.ascom.ch/systec/">Ascom Systec Ltd</a> *        (applied for May 1991), and is *        <a href="http://www.ascom.ch/Web/systec/policy/normal/policy.html">licensable</a>. * </ol> * <p> * * <b>Copyright</b> &copy; 1995-1997 * <a href="http://www.systemics.com/">Systemics Ltd</a> on behalf of the * <a href="http://www.systemics.com/docs/cryptix/">Cryptix Development Team</a>. * <br>All rights reserved. * * <p><b>$Revision: 1.1.1.1 $</b> * @author  Systemics Ltd * @author  David Hopwood * @author  Raif S. Naffah * @since   Cryptix 2.2.2 */public final class IDEA // must be final for security reasonsextends Cipherimplements SymmetricCipher{// Debugging methods and vars.//...........................................................................    private static final boolean DEBUG = Debug.GLOBAL_DEBUG;    private static final boolean DEBUG_SLOW = Debug.GLOBAL_DEBUG_SLOW;    private static final int debuglevel = DEBUG ? Debug.getLevel("IDEA") : 0;    private static final PrintWriter err = DEBUG ? Debug.getOutput() : null;    private static void debug(String s) { err.println("IDEA: " + s); }// Native library linking methods and vars.//...........................................................................    private static NativeLink linkStatus = new NativeLink("IDEA", 2, 3);    /**     * Gets an object representing the native linking status of this class.     */    public static cryptix.util.core.LinkStatus getLinkStatus() { return linkStatus; }    /**     * The native reference to the current native key schedule     * structure. Defaults to 0 but is set by native code after a     * successful call to native_init().     * <p>     * IMPORTANT: Do not change the name of this variable without     * duplicating the same in the native code.     */    private long native_cookie;    /**     * This object must be synchronized on while calling any native instance     * method. It is null if the native code is not being used (e.g. the     * library did not load successfully, or the user disabled its use in     * the properties file).     */    private Object native_lock; // defaults to null    private void link() {        synchronized(linkStatus) {            try {                if (linkStatus.attemptLoad()) {                    linkStatus.checkVersion(getLibMajorVersion(), getLibMinorVersion());                    linkStatus.check(native_clinit());                }                if (linkStatus.useNative()) {                    linkStatus.check(native_init());                    native_lock = new Object();                }            } catch (UnsatisfiedLinkError e) {                linkStatus.fail(e);if (DEBUG && debuglevel > 2) debug(e.getMessage());            }if (DEBUG && debuglevel > 2) debug("Using native library? " + (native_lock != null));        }    }// Native support API//...........................................................................    // The methods that get the library version.    private native static int getLibMajorVersion();    private native static int getLibMinorVersion();    /**     * Static initialization and self-test method for the native code.     *     * @return a string if an error occurred or null otherwise.     */    private native String native_clinit();    /**     * Initializes the native state for this cipher object and allocates     * needed native storage for the internal key schedule. A reference     * to the newly allocated space, if successful, is stored in the     * instance variable <code>native_cookie</code>.     *     * @return a string if an error occurred or null otherwise.     */    private native String native_init();    /**     * This function expands the user key to an internal form.     *     * @param  cookie   a valid reference to the native key structure. This     *                  value is set by the native library upon return from     *                  native_init() (see link() method at the top).     * @param  userKey  a byte array representing the user key     * @return an error String, or null if there was no error     */    private native String native_ks(long cookie, byte[] userKey);    /**     * Encrypts/decrypts a data block.     * <p>     * FUTURE: possibly change this to be able to process more than one block,     * to reduce native method call overhead.     * <p>     * SECURITY: the caller <strong>must</strong> ensure that:     * <ul>     *   <li> <code>in != null</code>     *   <li> <code>out != null</code>     *   <li> <code>inOffset >= 0</code>     *   <li> <code>(long)inOffset + BLOCK_SIZE <= in.length</code>     *   <li> <code>outOffset >= 0</code>     *   <li> <code>(long)outOffset + BLOCK_SIZE <= out.length</code>     * </ul>     *     * @param  cookie       a valid reference to the native key structure. This     *                      value is set by the native library upon return from     *                      native_init() (see link() method at the top).     * @param  in           input array containing data to encrypt or decrypt     *                      depending on the value of the encrypt boolean parameter.     * @param  inOffset     index of where we should start reading from input.     * @param  out          output array containing data decrypted or encrypted     *                      depending on the value of the encrypt boolean parameter.     * @param  outOffset    index of where we should start writing to output.     * @param  encrypt      if true then encrypt, otherwise decrypt.     * @return the number of bytes crypted (always BLOCK_SIZE) or 0 if an error     *                      occurred.     */    private native int native_crypt(long cookie, byte[] in, int inOffset,                                    byte[] out, int outOffset, boolean encrypt);    /**     * Finalizes the native state for this object.     *     * @return a string if an error occurred or null otherwise.     */    private native String native_finalize();// IDEA constants and variables//............................................................................    private static final int        ROUNDS = 8,        BLOCK_SIZE = 8,        KEY_LENGTH = 16;    /**     * The number of array elements in the expanded key schedule, i.e. both     * encryption and decryption keys.     * <p>     * For IDEA this is <code>6 * ROUNDS + 4 = 52</code>.     */    private static final int INTERNAL_KEY_LENGTH = 52;    /**     * The key schedule.     */    private short[] ks = new short[INTERNAL_KEY_LENGTH];// Constructor, finalizer, and clone()//............................................................................    /**     * Constructs an IDEA cipher object, in the UNINITIALIZED state.     * This calls the Cipher constructor with <i>implBuffering</i> false,     * <i>implPadding</i> false and the provider set to "Cryptix".     */    public IDEA() {        super(false, false, "Cryptix");        link();    }    /**     * Cleans up resources used by this instance, if necessary.     */    protected final void finalize() {        if (native_lock != null) {            synchronized(native_lock) {                String error = native_finalize(); // may be called more than once                if (error != null)                    debug(error + " in native_finalize");            }        }    }    /**     * Always throws a CloneNotSupportedException (cloning of ciphers is not     * supported for security reasons).     */    public final Object clone() throws CloneNotSupportedException {        throw new CloneNotSupportedException();    }// Implementation of JCE methods//............................................................................        /**     * <b>SPI</b>: Returns the length of an input block, in bytes.     *     * @return the length in bytes of an input block for this cipher.     */    protected int engineBlockSize () { return BLOCK_SIZE; }    /**     * <b>SPI</b>: Initializes this cipher for encryption, using the     * specified key.     *     * @param  key  the key to use for encryption.     * @exception InvalidKeyException if one of the following occurs: <ul>     *                <li> key.getEncoded() == null;     *                <li> The length of the user key array is not KEY_LENGTH.     *              </ul>     */    protected void engineInitEncrypt (Key key)    throws InvalidKeyException, CryptixException {        makeKey(key);    }    /**     * <b>SPI</b>: Initializes this cipher for decryption, using the     * specified key.     *     * @param  key  the key to use for encryption.     * @exception InvalidKeyException if one of the following occurs: <ul>     *                <li> key.getEncoded() == null;     *                <li> The length of the user key array is not KEY_LENGTH.     *              </ul>     */    protected void engineInitDecrypt (Key key)    throws InvalidKeyException, CryptixException {        makeKey(key);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产成人国产三级| 欧美婷婷六月丁香综合色| 亚洲一区二区3| 亚洲少妇30p| 亚洲少妇30p| 亚洲另类中文字| 亚洲综合成人网| 亚洲无线码一区二区三区| 亚洲一二三区不卡| 亚洲18女电影在线观看| 五月天国产精品| 九色综合狠狠综合久久| 捆绑变态av一区二区三区| 蜜桃精品视频在线| 国产精品亚洲第一| 91丨九色丨尤物| 欧美日韩国产综合久久| 欧美一级高清大全免费观看| 日韩欧美视频在线| 久久久久国产成人精品亚洲午夜| 国产亚洲欧美在线| **性色生活片久久毛片| 一区二区三区美女视频| 日韩成人av影视| 国产一区二区三区在线观看免费 | 亚洲国产日韩精品| 亚洲一卡二卡三卡四卡五卡| 午夜欧美电影在线观看| 国产在线不卡视频| 91视频你懂的| 欧美日韩性生活| 久久综合色之久久综合| 亚洲综合一区二区精品导航| 视频精品一区二区| 韩国理伦片一区二区三区在线播放| 国产传媒一区在线| 欧美日韩一区二区电影| 国产婷婷色一区二区三区四区| 亚洲精品五月天| 国产麻豆成人精品| 欧美日韩一区二区三区在线看| 久久综合一区二区| 伊人一区二区三区| 国产成人av电影在线观看| 色综合久久久久| 欧美精品一区二区三区很污很色的| 亚洲免费视频成人| 国产成人在线观看免费网站| 在线不卡免费欧美| 亚洲精品日产精品乱码不卡| 国产乱一区二区| 欧美一级高清大全免费观看| 亚洲日本在线天堂| 国产一区二区主播在线| 精品视频在线免费观看| 国产午夜亚洲精品羞羞网站| 亚洲一区二区视频| 国产成人精品亚洲日本在线桃色| 国产成人99久久亚洲综合精品| aaa欧美色吧激情视频| 日韩一区二区三区高清免费看看| 国产午夜亚洲精品羞羞网站| 亚洲成人一区二区在线观看| 国产成人午夜99999| 欧美日韩在线播| 日本一区二区免费在线 | 国产精品 日产精品 欧美精品| 97久久超碰精品国产| 欧美一区二区三区色| 亚洲天堂精品在线观看| 激情综合色综合久久综合| 日本韩国欧美在线| 国产欧美精品一区| 久久精品久久精品| 91麻豆精品国产自产在线| 亚洲欧美韩国综合色| 成人激情图片网| 欧美一区二区三区日韩| 夜夜精品视频一区二区| 懂色av中文一区二区三区| 日韩欧美色综合| 日本亚洲三级在线| 在线观看免费亚洲| 亚洲精品国产一区二区精华液| 国产成人精品免费| 久久亚洲一区二区三区明星换脸 | 亚洲欧洲国产日韩| 大尺度一区二区| 久久精品夜夜夜夜久久| 久久99国产精品久久99果冻传媒| 欧美电影一区二区三区| 国产精品久久久久久一区二区三区| 国产乱子伦一区二区三区国色天香| 884aa四虎影成人精品一区| 亚洲一区二区三区四区在线| 色婷婷久久久亚洲一区二区三区| 国产精品高清亚洲| 99久久婷婷国产综合精品电影| 国产日韩欧美亚洲| 免费在线观看成人| 国产拍揄自揄精品视频麻豆| 东方欧美亚洲色图在线| 国产日产欧美一区二区三区| 国产东北露脸精品视频| 国产女人18水真多18精品一级做| 国产成人精品免费看| 国产精品无码永久免费888| 韩国毛片一区二区三区| 国产日产亚洲精品系列| 成人av在线资源网站| 亚洲成国产人片在线观看| 精品国精品自拍自在线| 国产一区二区看久久| 欧美国产日本视频| 91视频免费播放| 亚洲国产精品久久久久秋霞影院 | 亚洲蜜桃精久久久久久久| 欧美亚洲国产bt| 美女一区二区三区在线观看| 国产色综合久久| 欧美艳星brazzers| 蜜桃一区二区三区在线观看| 国产午夜一区二区三区| 色哟哟一区二区在线观看| 日韩精品免费专区| 国产午夜精品一区二区三区视频| 色综合一个色综合| 日韩精品电影在线| 亚洲欧美日韩国产另类专区 | 亚洲午夜电影网| 日韩欧美不卡在线观看视频| 国产成人h网站| 亚洲黄色小说网站| www精品美女久久久tv| 日本久久精品电影| 国产成人精品免费网站| 午夜日韩在线观看| 中文字幕不卡在线| 日韩欧美一区二区视频| 成人h版在线观看| 亚洲一级二级三级在线免费观看| 精品少妇一区二区三区视频免付费| www.久久精品| 韩国一区二区三区| 亚洲成人午夜电影| 亚洲欧洲成人精品av97| 精品国产污污免费网站入口| 日本黄色一区二区| 蜜桃精品在线观看| 免费看欧美美女黄的网站| 亚洲最大色网站| 国产精品无圣光一区二区| 日韩小视频在线观看专区| 91看片淫黄大片一级| 国产福利一区二区三区| 奇米影视7777精品一区二区| 中文字幕字幕中文在线中不卡视频| 国产精品麻豆99久久久久久| 久久这里都是精品| 欧美电影免费观看高清完整版| 在线观看亚洲专区| 色偷偷88欧美精品久久久| 成人免费看的视频| 成人午夜大片免费观看| 国产精品1区2区3区| 免费黄网站欧美| 美女网站在线免费欧美精品| 日韩精品一级二级| 日韩二区三区在线观看| 亚州成人在线电影| 亚洲国产乱码最新视频| 午夜视频在线观看一区二区三区 | 亚洲va欧美va天堂v国产综合| 亚洲私人黄色宅男| 亚洲人成小说网站色在线| 日韩毛片视频在线看| 国产精品妹子av| 中文字幕一区二区三区乱码在线| 久久久亚洲高清| 欧美国产一区二区| 中文av字幕一区| 欧美国产精品一区二区三区| 亚洲一本大道在线| 亚洲第四色夜色| 天堂成人免费av电影一区| 日韩精品成人一区二区三区| 日韩avvvv在线播放| 久久精品国产亚洲aⅴ| 国产精品 日产精品 欧美精品| 久久精品国产亚洲5555| 91在线视频网址| 91蝌蚪国产九色| 欧美日韩精品免费观看视频| 91久久精品网| 一本色道**综合亚洲精品蜜桃冫| 欧美日韩成人激情| 久久久久久久久久久99999| 中文字幕五月欧美| 一区二区三区中文字幕精品精品| 午夜不卡在线视频|