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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? aesopt.h

?? EJB,business logic 處理程序。 主要想找一點(diǎn)關(guān)于加密方面的程序。
?? H
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/*
 ---------------------------------------------------------------------------
 Copyright (c) 2003, Dr Brian Gladman <brg@gladman.me.uk>, Worcester, UK.
 All rights reserved.

 LICENSE TERMS

 The free distribution and use of this software in both source and binary
 form is allowed (with or without changes) provided that:

   1. distributions of this source code include the above copyright
      notice, this list of conditions and the following disclaimer;

   2. distributions in binary form include the above copyright
      notice, this list of conditions and the following disclaimer
      in the documentation and/or other associated materials;

   3. the copyright holder's name is not used to endorse products
      built using this software without specific written permission.

 ALTERNATIVELY, provided that this notice is retained in full, this product
 may be distributed under the terms of the GNU General Public License (GPL),
 in which case the provisions of the GPL apply INSTEAD OF those given above.

 DISCLAIMER

 This software is provided 'as is' with no explicit or implied warranties
 in respect of its properties, including, but not limited to, correctness
 and/or fitness for purpose.
 ---------------------------------------------------------------------------
 Issue Date: 1/08/2003

 My thanks go to Dag Arne Osvik for devising the schemes used here for key
 length derivation from the form of the key schedule

 This file contains the compilation options for AES (Rijndael) and code
 that is common across encryption, key scheduling and table generation.

    OPERATION

    These source code files implement the AES algorithm Rijndael designed by
    Joan Daemen and Vincent Rijmen. This version is designed for the standard
    block size of 16 bytes and for key sizes of 128, 192 and 256 bits (16, 24
    and 32 bytes).

    This version is designed for flexibility and speed using operations on
    32-bit words rather than operations on bytes.  It can be compiled with
    either big or little endian internal byte order but is faster when the
    native byte order for the processor is used.

    THE CIPHER INTERFACE

    The cipher interface is implemented as an array of bytes in which lower
    AES bit sequence indexes map to higher numeric significance within bytes.

    aes_08t                 (an unsigned  8-bit type)
    aes_32t                 (an unsigned 32-bit type)
    struct aes_encrypt_ctx  (structure for the cipher encryption context)
    struct aes_decrypt_ctx  (structure for the cipher decryption context)
    aes_rval                the function return type

    C subroutine calls:

      aes_rval aes_encrypt_key128(const void *in_key, aes_encrypt_ctx cx[1]);
      aes_rval aes_encrypt_key192(const void *in_key, aes_encrypt_ctx cx[1]);
      aes_rval aes_encrypt_key256(const void *in_key, aes_encrypt_ctx cx[1]);
      aes_rval aes_encrypt(const void *in_blk,
                                 void *out_blk, const aes_encrypt_ctx cx[1]);

      aes_rval aes_decrypt_key128(const void *in_key, aes_decrypt_ctx cx[1]);
      aes_rval aes_decrypt_key192(const void *in_key, aes_decrypt_ctx cx[1]);
      aes_rval aes_decrypt_key256(const void *in_key, aes_decrypt_ctx cx[1]);
      aes_rval aes_decrypt(const void *in_blk,
                                 void *out_blk, const aes_decrypt_ctx cx[1]);

    IMPORTANT NOTE: If you are using this C interface with dynamic tables make sure that
    you call genTabs() before AES is used so that the tables are initialised.

    C++ aes class subroutines:

        Class AESencrypt  for encryption

        Construtors:
            AESencrypt(void)
            AESencrypt(const void *in_key) - 128 bit key
        Members:
            void key128(const void *in_key)
            void key192(const void *in_key)
            void key256(const void *in_key)
            void encrypt(const void *in_blk, void *out_blk) const

        Class AESdecrypt  for encryption
        Construtors:
            AESdecrypt(void)
            AESdecrypt(const void *in_key) - 128 bit key
        Members:
            void key128(const void *in_key)
            void key192(const void *in_key)
            void key256(const void *in_key)
            void decrypt(const void *in_blk, void *out_blk) const

    COMPILATION

    The files used to provide AES (Rijndael) are

    a. aes.h for the definitions needed for use in C.
    b. aescpp.h for the definitions needed for use in C++.
    c. aesopt.h for setting compilation options (also includes common code).
    d. aescrypt.c for encryption and decrytpion, or
    e. aeskey.c for key scheduling.
    f. aestab.c for table loading or generation.
    g. aescrypt.asm for encryption and decryption using assembler code.
    h. aescrypt.mmx.asm for encryption and decryption using MMX assembler.

    To compile AES (Rijndael) for use in C code use aes.h and set the
    defines here for the facilities you need (key lengths, encryption
    and/or decryption). Do not define AES_DLL or AES_CPP.  Set the options
    for optimisations and table sizes here.

    To compile AES (Rijndael) for use in in C++ code use aescpp.h but do
    not define AES_DLL

    To compile AES (Rijndael) in C as a Dynamic Link Library DLL) use
    aes.h and include the AES_DLL define.

    CONFIGURATION OPTIONS (here and in aes.h)

    a. set AES_DLL in aes.h if AES (Rijndael) is to be compiled as a DLL
    b. You may need to set PLATFORM_BYTE_ORDER to define the byte order.
    c. If you want the code to run in a specific internal byte order, then
       ALGORITHM_BYTE_ORDER must be set accordingly.
    d. set other configuration options decribed below.
*/

#ifndef _AESOPT_H
#define _AESOPT_H

#include "aes.h"

/*  START OF CONFIGURATION OPTIONS

    USE OF DEFINES

    Later in this section there are a number of defines that control the
    operation of the code.  In each section, the purpose of each define is
    explained so that the relevant form can be included or excluded by
    setting either 1's or 0's respectively on the branches of the related
    #if clauses.
*/

/*  DO NOT CHANGE THE FOLLOWING EIGHT DEFINES   */

#define NO_TABLES              0
#define ONE_TABLE              1
#define FOUR_TABLES            4
#define NONE                   0
#define PARTIAL                1
#define FULL                   2
#define AES_LITTLE_ENDIAN   1234 /* byte 0 is least significant (i386) */
#define AES_BIG_ENDIAN      4321 /* byte 0 is most significant (mc68k) */

/*  1. PLATFORM SPECIFIC INCLUDES */

#if defined( __FreeBSD__ ) || defined( __OpenBSD__ )
#  include <sys/endian.h>
#elif defined( BSD ) && ( BSD >= 199103 )
#  include <machine/endian.h>
#elif defined( __GNUC__ ) || defined( __GNU_LIBRARY__ )
#  include <endian.h>
#  include <byteswap.h>
#elif defined( linux )
#  include <endian.h>
#endif

#if defined(bswap32)
#define aes_sw32   bswap32
#elif defined(bswap_32)
#define aes_sw32   bswap_32
#endif

/*  2. BYTE ORDER IN 32-BIT WORDS

    To obtain the highest speed on processors with 32-bit words, this code
    needs to determine the order in which bytes are packed into such words.
    The following block of code is an attempt to capture the most obvious
    ways in which various environemnts define byte order. It may well fail,
    in which case the definitions will need to be set by editing at the
    points marked **** EDIT HERE IF NECESSARY **** below.  My thanks to
    Peter Gutmann for some of these defines.
*/

#if defined( __alpha__ ) || defined( __alpha ) || defined( i386 )       ||   \
    defined( __i386__ )  || defined( _M_I86 )  || defined( _M_IX86 )    ||   \
    defined( __OS2__ )   || defined( sun386 )  || defined( __TURBOC__ ) ||   \
    defined( vax )       || defined( vms )     || defined( VMS )        ||   \
    defined( __VMS ) 

#define PLATFORM_BYTE_ORDER AES_LITTLE_ENDIAN

#endif

#if defined( AMIGA )    || defined( applec )  || defined( __AS400__ )  ||   \
    defined( _CRAY )    || defined( __hppa )  || defined( __hp9000 )   ||   \
    defined( ibm370 )   || defined( mc68000 ) || defined( m68k )       ||   \
    defined( __MRC__ )  || defined( __MVS__ ) || defined( __MWERKS__ ) ||   \
    defined( sparc )    || defined( __sparc)  || defined( SYMANTEC_C ) ||   \
    defined( __TANDEM ) || defined( THINK_C ) || defined( __VMCMS__ )
    
#define PLATFORM_BYTE_ORDER AES_BIG_ENDIAN

#endif

/*  if the platform is not known, try to find its byte order from   */
/*  definitions in the headers  included earlier                    */

#if !defined(PLATFORM_BYTE_ORDER)

#if defined(LITTLE_ENDIAN) || defined(BIG_ENDIAN)
#  if defined(LITTLE_ENDIAN) && defined(BIG_ENDIAN)
#    if defined(BYTE_ORDER)
#      if   (BYTE_ORDER == LITTLE_ENDIAN)
#        define PLATFORM_BYTE_ORDER AES_LITTLE_ENDIAN
#      elif (BYTE_ORDER == BIG_ENDIAN)
#        define PLATFORM_BYTE_ORDER AES_BIG_ENDIAN
#      endif
#    endif
#  elif defined(LITTLE_ENDIAN) && !defined(BIG_ENDIAN)
#    define PLATFORM_BYTE_ORDER AES_LITTLE_ENDIAN
#  elif !defined(LITTLE_ENDIAN) && defined(BIG_ENDIAN)
#    define PLATFORM_BYTE_ORDER AES_BIG_ENDIAN
#  endif

#elif defined(_LITTLE_ENDIAN) || defined(_BIG_ENDIAN)
#  if defined(_LITTLE_ENDIAN) && defined(_BIG_ENDIAN)
#    if defined(_BYTE_ORDER)
#      if   (_BYTE_ORDER == _LITTLE_ENDIAN)
#        define PLATFORM_BYTE_ORDER AES_LITTLE_ENDIAN
#      elif (_BYTE_ORDER == _BIG_ENDIAN)
#        define PLATFORM_BYTE_ORDER AES_BIG_ENDIAN
#      endif
#    endif
#  elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN)
#    define PLATFORM_BYTE_ORDER AES_LITTLE_ENDIAN
#  elif !defined(_LITTLE_ENDIAN) && defined(_BIG_ENDIAN)
#    define PLATFORM_BYTE_ORDER AES_BIG_ENDIAN
#  endif

#elif defined(__LITTLE_ENDIAN__) || defined(__BIG_ENDIAN__)
#  if defined(__LITTLE_ENDIAN__) && defined(__BIG_ENDIAN__)
#    if defined(__BYTE_ORDER__)
#      if   (__BYTE_ORDER__ == __LITTLE_ENDIAN__)
#        define PLATFORM_BYTE_ORDER AES_LITTLE_ENDIAN
#      elif (__BYTE_ORDER__ == __BIG_ENDIAN__)
#        define PLATFORM_BYTE_ORDER AES_BIG_ENDIAN
#      endif
#    endif
#  elif defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
#    define PLATFORM_BYTE_ORDER AES_LITTLE_ENDIAN
#  elif !defined(__LITTLE_ENDIAN__) && defined(__BIG_ENDIAN__)
#    define PLATFORM_BYTE_ORDER AES_BIG_ENDIAN
#  endif

#elif 0     /* **** EDIT HERE IF NECESSARY **** */
#define PLATFORM_BYTE_ORDER AES_LITTLE_ENDIAN

#elif 0     /* **** EDIT HERE IF NECESSARY **** */
#define PLATFORM_BYTE_ORDER AES_BIG_ENDIAN

#else
#  error Please edit aesopt.h (line 263 or 266) to set the platform byte order
#endif

#endif

/*  3. FUNCTIONS REQUIRED

    This implementation provides subroutines for encryption, decryption
    and for setting the three key lengths (separately) for encryption
    and decryption. When the assembler code is not being used the following
    definition blocks allow the selection of the routines that are to be
    included in the compilation.
*/
#ifdef AES_ENCRYPT
#define ENCRYPTION
#define ENCRYPTION_KEY_SCHEDULE
#endif

#ifdef AES_DECRYPT
#define DECRYPTION
#define DECRYPTION_KEY_SCHEDULE
#endif

/*  4. ASSEMBLER SUPPORT

    This define (which can be on the command line) enables the use of the
    assembler code routines for encryption and decryption with the C code
    only providing key scheduling
*/
#if 0
#define AES_ASM
#endif

/*  5. BYTE ORDER WITHIN 32 BIT WORDS

    The fundamental data processing units in Rijndael are 8-bit bytes. The
    input, output and key input are all enumerated arrays of bytes in which
    bytes are numbered starting at zero and increasing to one less than the
    number of bytes in the array in question. This enumeration is only used
    for naming bytes and does not imply any adjacency or order relationship
    from one byte to another. When these inputs and outputs are considered
    as bit sequences, bits 8*n to 8*n+7 of the bit sequence are mapped to
    byte[n] with bit 8n+i in the sequence mapped to bit 7-i within the byte.
    In this implementation bits are numbered from 0 to 7 starting at the
    numerically least significant end of each byte (bit n represents 2^n).

    However, Rijndael can be implemented more efficiently using 32-bit
    words by packing bytes into words so that bytes 4*n to 4*n+3 are placed
    into word[n]. While in principle these bytes can be assembled into words
    in any positions, this implementation only supports the two formats in
    which bytes in adjacent positions within words also have adjacent byte
    numbers. This order is called big-endian if the lowest numbered bytes
    in words have the highest numeric significance and little-endian if the
    opposite applies.

    This code can work in either order irrespective of the order used by the
    machine on which it runs. Normally the internal byte order will be set
    to the order of the processor on which the code is to be run but this
    define can be used to reverse this in special situations

    NOTE: Assembler code versions rely on PLATFORM_BYTE_ORDER being set
*/
#if 1 || defined(AES_ASM)
#define ALGORITHM_BYTE_ORDER PLATFORM_BYTE_ORDER
#elif 0
#define ALGORITHM_BYTE_ORDER AES_LITTLE_ENDIAN
#elif 0
#define ALGORITHM_BYTE_ORDER AES_BIG_ENDIAN
#else
#error The algorithm byte order is not defined
#endif

/*  6. FAST INPUT/OUTPUT OPERATIONS.

    On some machines it is possible to improve speed by transferring the
    bytes in the input and output arrays to and from the internal 32-bit
    variables by addressing these arrays as if they are arrays of 32-bit
    words.  On some machines this will always be possible but there may
    be a large performance penalty if the byte arrays are not aligned on
    the normal word boundaries. On other machines this technique will
    lead to memory access errors when such 32-bit word accesses are not
    properly aligned. The option SAFE_IO avoids such problems but will
    often be slower on those machines that support misaligned access
    (especially so if care is taken to align the input  and output byte

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久国产免费看| 成人av电影免费在线播放| 国产精品久久久久久久久免费丝袜| 亚洲精品在线观看网站| 91丨porny丨首页| 高清不卡一二三区| 国产综合久久久久久久久久久久| 奇米一区二区三区av| 亚洲国产精品精华液网站| 依依成人综合视频| 亚洲精品久久久蜜桃| 国产精品动漫网站| 久久婷婷综合激情| 久久久久久综合| 久久蜜桃香蕉精品一区二区三区| 精品久久久网站| 日韩你懂的在线播放| 欧美日本免费一区二区三区| www.亚洲精品| 99久久精品99国产精品| 一本在线高清不卡dvd| 成人一区二区三区在线观看| 国产黄色91视频| 成人免费视频一区| 99re视频精品| 欧美伊人精品成人久久综合97| 日本久久电影网| 欧美日韩在线播放三区| 风间由美一区二区三区在线观看| 国产馆精品极品| 成人短视频下载 | 丝袜国产日韩另类美女| 亚洲精品日韩综合观看成人91| 亚洲精选视频在线| 久久精品亚洲精品国产欧美kt∨| 国产欧美一区二区三区在线看蜜臀 | 三级一区在线视频先锋 | 96av麻豆蜜桃一区二区| 成人一级片在线观看| 成人一区二区三区在线观看| 99视频精品在线| 欧美色图12p| 日韩欧美一区电影| 国产精品美女久久久久久久网站| 国产精品每日更新| 亚洲国产精品嫩草影院| 精品在线一区二区| 成人手机在线视频| 在线观看网站黄不卡| 欧美一级免费大片| 欧美一区二区三区免费大片 | 久久久综合视频| 亚洲少妇中出一区| 秋霞av亚洲一区二区三| 国产·精品毛片| 色偷偷久久一区二区三区| 欧美日韩一区二区三区在线| 亚洲精品在线电影| 最新热久久免费视频| 天天av天天翘天天综合网色鬼国产 | 91蜜桃网址入口| 欧美一卡在线观看| 中文字幕不卡一区| 亚洲va欧美va天堂v国产综合| 狠狠v欧美v日韩v亚洲ⅴ| 97久久超碰国产精品| 日韩欧美一级片| 国产清纯白嫩初高生在线观看91 | 欧美日韩美少妇| 精品久久久久久最新网址| 亚洲一级不卡视频| 国产91综合网| 日韩免费观看2025年上映的电影| 亚洲九九爱视频| 不卡高清视频专区| 久久精品亚洲精品国产欧美kt∨| 日韩成人午夜精品| 欧美日韩一区三区四区| 亚洲欧洲日韩女同| 丰满岳乱妇一区二区三区| 日韩视频一区在线观看| 亚洲va国产天堂va久久en| 91在线观看地址| 中国色在线观看另类| 国产精品一区久久久久| 日韩天堂在线观看| 日韩精品一级二级 | 欧美不卡一区二区三区| 日韩福利视频导航| 欧美精品高清视频| 午夜精品爽啪视频| 精品视频一区二区三区免费| 亚洲免费av在线| 色综合久久久网| 最新国产精品久久精品| av福利精品导航| 国产精品美女久久久久久| 国v精品久久久网| 国产亚洲欧美中文| 国产91精品精华液一区二区三区 | 国产精品成人免费精品自在线观看| 国精产品一区一区三区mba视频 | 一区二区成人在线| 色94色欧美sute亚洲线路一久| 国产精品不卡在线观看| av亚洲产国偷v产偷v自拍| 中文字幕一区不卡| 91天堂素人约啪| 亚洲靠逼com| 欧美手机在线视频| 亚洲第一主播视频| 91精品国产综合久久婷婷香蕉| 五月婷婷综合网| 91精品国产综合久久香蕉麻豆| 麻豆一区二区三区| 精品剧情在线观看| 成人免费精品视频| 综合激情网...| 欧美日韩国产首页| 蜜臀精品久久久久久蜜臀| wwwwww.欧美系列| 高清久久久久久| 一区二区三区四区在线播放| 欧美性色aⅴ视频一区日韩精品| 午夜久久久久久久久| 日韩欧美一二三区| 国产成人av电影在线播放| 国产精品三级久久久久三级| 91黄色免费版| 蜜桃视频免费观看一区| 久久久亚洲综合| av成人免费在线观看| 午夜精品视频一区| 久久婷婷色综合| 色哟哟国产精品免费观看| 性做久久久久久免费观看| 91精品国产91久久综合桃花| 国产一区二区电影| 亚洲精品成人a在线观看| 欧美一级理论性理论a| 成人教育av在线| 亚洲狠狠爱一区二区三区| 欧美大片一区二区| 一本一本大道香蕉久在线精品| 日韩精品亚洲一区| 国产精品色在线观看| 欧美日韩高清一区二区不卡| 国产精一区二区三区| 亚洲精品菠萝久久久久久久| 51精品国自产在线| 成人一级视频在线观看| 天堂va蜜桃一区二区三区漫画版| 久久久精品免费观看| 欧美日韩一区 二区 三区 久久精品| 精品一二线国产| 悠悠色在线精品| 久久精品人人爽人人爽| 欧美精品自拍偷拍动漫精品| 国产成人aaa| 日本不卡一二三| 亚洲免费视频成人| 久久众筹精品私拍模特| 欧美日韩色一区| www.成人网.com| 久久av中文字幕片| 亚洲一区二区视频在线观看| 欧美国产日本视频| 日韩欧美一级在线播放| 欧美亚洲国产一区二区三区| 国产成人在线免费观看| 免费国产亚洲视频| 亚洲一区免费观看| 国产精品理伦片| 亚洲精品在线三区| 欧美精品三级在线观看| 91亚洲精华国产精华精华液| 国产激情一区二区三区| 六月婷婷色综合| 亚洲成av人片一区二区三区| 亚洲欧美综合色| 国产午夜精品理论片a级大结局| 7777精品久久久大香线蕉| 91久久线看在观草草青青| 成人免费视频一区| 高清在线成人网| 国产精品一区久久久久| 韩国v欧美v亚洲v日本v| 免费精品视频在线| 日韩国产在线观看| 亚洲午夜av在线| 亚洲第一成年网| 亚洲一本大道在线| 亚洲乱码日产精品bd| 国产精品成人网| 最好看的中文字幕久久| 国产精品毛片无遮挡高清| 国产精品乱码人人做人人爱| 日本一区二区三级电影在线观看| 亚洲精品一区二区精华| 日韩精品综合一本久道在线视频|