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

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

?? des.h

?? 本程序實現DES算法
?? H
字號:
#ifndef CRYPT_H_
#define CRYPT_H_
#include <assert.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <ctype.h>
#include <limits.h>

#ifdef __cplusplus
extern "C" {
#endif

/* version */
#define CRYPT   0x0096
#define SCRYPT  "0.96"

/* error codes [will be expanded in future releases] */
enum {
   CRYPT_OK=0,             /* Result OK */
   
   CRYPT_INVALID_KEYSIZE,  /* Invalid key size given */
   CRYPT_INVALID_ROUNDS,   /* Invalid number of rounds */
   CRYPT_FAIL_TESTVECTOR,  /* Algorithm failed test vectors */
  
};
#define DES
/* Use small code where possible */
#define SMALL_CODE

/* Enable self-test test vector checking */
#define LTC_TEST

/* type of argument checking, 0=default, 1=fatal and 2=none */
#define ARGTYPE  0
/* ch1-01-1 */

/* Controls endianess and size of registers.  Leave uncommented to get platform neutral [slower] code */
/* detect x86-32 machines somewhat */
#if defined(INTEL_CC) || (defined(_MSC_VER) && defined(WIN32)) || (defined(__GNUC__) && (defined(__DJGPP__) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__i386__)))
   #define ENDIAN_LITTLE
   #define ENDIAN_32BITWORD
#endif

/* detects MIPS R5900 processors (PS2) */
#if (defined(__R5900) || defined(R5900) || defined(__R5900__)) && (defined(_mips) || defined(__mips__) || defined(mips))
   #define ENDIAN_LITTLE
   #define ENDIAN_64BITWORD
#endif

/* #define ENDIAN_LITTLE */
/* #define ENDIAN_BIG */

/* #define ENDIAN_32BITWORD */
/* #define ENDIAN_64BITWORD */

#if (defined(ENDIAN_BIG) || defined(ENDIAN_LITTLE)) && !(defined(ENDIAN_32BITWORD) || defined(ENDIAN_64BITWORD))
    #error You must specify a word size as well as endianess 
#endif

#if !(defined(ENDIAN_BIG) || defined(ENDIAN_LITTLE))
   #define ENDIAN_NEUTRAL
#endif

/* fix for MSVC ...evil! */
#ifdef _MSC_VER
   #define CONST64(n) n ## ui64
   typedef unsigned __int64 ulong64;
#else
   #define CONST64(n) n ## ULL
   typedef unsigned long long ulong64;
#endif

/* this is the "32-bit at least" data type 
 * Re-define it to suit your platform but it must be at least 32-bits 
 */
typedef unsigned long ulong32;

/* ---- HELPER MACROS ---- */
#ifdef ENDIAN_NEUTRAL

#define STORE32L(x, y)                                                                     \
     { (y)[3] = (unsigned char)(((x)>>24)&255); (y)[2] = (unsigned char)(((x)>>16)&255);   \
       (y)[1] = (unsigned char)(((x)>>8)&255); (y)[0] = (unsigned char)((x)&255); }

#define LOAD32L(x, y)                            \
     { x = ((unsigned long)((y)[3] & 255)<<24) | \
           ((unsigned long)((y)[2] & 255)<<16) | \
           ((unsigned long)((y)[1] & 255)<<8)  | \
           ((unsigned long)((y)[0] & 255)); }


#define STORE32H(x, y)                                                                     \
     { (y)[0] = (unsigned char)(((x)>>24)&255); (y)[1] = (unsigned char)(((x)>>16)&255);   \
       (y)[2] = (unsigned char)(((x)>>8)&255); (y)[3] = (unsigned char)((x)&255); }

#define LOAD32H(x, y)                            \
     { x = ((unsigned long)((y)[0] & 255)<<24) | \
           ((unsigned long)((y)[1] & 255)<<16) | \
           ((unsigned long)((y)[2] & 255)<<8)  | \
           ((unsigned long)((y)[3] & 255)); }


#endif /* ENDIAN_NEUTRAL */

#ifdef ENDIAN_LITTLE

#define STORE32H(x, y)                                                                     \
     { (y)[0] = (unsigned char)(((x)>>24)&255); (y)[1] = (unsigned char)(((x)>>16)&255);   \
       (y)[2] = (unsigned char)(((x)>>8)&255); (y)[3] = (unsigned char)((x)&255); }

#define LOAD32H(x, y)                            \
     { x = ((unsigned long)((y)[0] & 255)<<24) | \
           ((unsigned long)((y)[1] & 255)<<16) | \
           ((unsigned long)((y)[2] & 255)<<8)  | \
           ((unsigned long)((y)[3] & 255)); }


#ifdef ENDIAN_32BITWORD 

#define STORE32L(x, y)        \
     { unsigned long __t = (x); memcpy(y, &__t, 4); }

#define LOAD32L(x, y)         \
     memcpy(&(x), y, 4);

#else /* 64-bit words then  */

#define STORE32L(x, y)        \
     { unsigned long __t = (x); memcpy(y, &__t, 4); }

#define LOAD32L(x, y)         \
     { memcpy(&(x), y, 4); x &= 0xFFFFFFFF; }

#endif /* ENDIAN_64BITWORD */

#endif /* ENDIAN_LITTLE */

#ifdef ENDIAN_BIG
#define STORE32L(x, y)                                                                     \
     { (y)[0] = (unsigned char)(((x)>>24)&255); (y)[1] = (unsigned char)(((x)>>16)&255);   \
       (y)[2] = (unsigned char)(((x)>>8)&255); (y)[3] = (unsigned char)((x)&255); }

#define LOAD32L(x, y)                            \
     { x = ((unsigned long)((y)[0] & 255)<<24) | \
           ((unsigned long)((y)[1] & 255)<<16) | \
           ((unsigned long)((y)[2] & 255)<<8)  | \
           ((unsigned long)((y)[3] & 255)); }

#ifdef ENDIAN_32BITWORD 

#define STORE32H(x, y)        \
     { unsigned long __t = (x); memcpy(y, &__t, 4); }

#define LOAD32H(x, y)         \
     memcpy(&(x), y, 4);

#else /* 64-bit words then  */

#define STORE32H(x, y)        \
     { unsigned long __t = (x); memcpy(y, &__t, 4); }

#define LOAD32H(x, y)         \
     { memcpy(&(x), y, 4); x &= 0xFFFFFFFF; }

#endif /* ENDIAN_64BITWORD */
#endif /* ENDIAN_BIG */

#define BSWAP(x)  ( ((x>>24)&0x000000FFUL) | ((x<<24)&0xFF000000UL)  | \
                    ((x>>8)&0x0000FF00UL)  | ((x<<8)&0x00FF0000UL) )

#ifdef _MSC_VER

#pragma intrinsic(_lrotr,_lrotl)
#define ROR(x,n) _lrotr(x,n)
#define ROL(x,n) _lrotl(x,n)

#elif defined(__GNUC__) && defined(__i386__) && !defined(INTEL_CC)

static inline unsigned long ROL(unsigned long word, int i)
{
   __asm__("roll %%cl,%0"
      :"=r" (word)
      :"0" (word),"c" (i));
   return word;
}

static inline unsigned long ROR(unsigned long word, int i)
{
   __asm__("rorl %%cl,%0"
      :"=r" (word)
      :"0" (word),"c" (i));
   return word;
}

#else
/* rotates the hard way */
#define ROL(x, y) ( (((unsigned long)(x)<<(unsigned long)((y)&31)) | (((unsigned long)(x)&0xFFFFFFFFUL)>>(unsigned long)(32-((y)&31)))) & 0xFFFFFFFFUL)
#define ROR(x, y) ( ((((unsigned long)(x)&0xFFFFFFFFUL)>>(unsigned long)((y)&31)) | ((unsigned long)(x)<<(unsigned long)(32-((y)&31)))) & 0xFFFFFFFFUL)

#endif

/* extract a byte portably */
#ifdef _MSC_VER
   #define byte(x, n) ((unsigned char)((x) >> (8 * (n))))
#else
   #define byte(x, n) (((x) >> (8 * (n))) & 255)
#endif   

typedef struct des_key {
    ulong32 ek[32], dk[32];
}symmetric_key;

extern int des_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey);
extern void des_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *key);
extern void des_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *key);
extern int des_test(void);
extern int des_keysize(int *desired_keysize);


#if ARGTYPE == 0
#include <signal.h>

/* this is the default LibTomCrypt macro  */
extern void crypt_argchk(char *v, char *s, int d);
#define _ARGCHK(x) if (!(x)) { crypt_argchk(#x, __FILE__, __LINE__); }

#elif ARGTYPE == 1

/* fatal type of error */
#define _ARGCHK(x) assert((x))

#elif ARGTYPE == 2

#define _ARGCHK(x) 

#endif
void zeromem(void *dst, size_t len);
void burn_stack(unsigned long len);

#ifdef __cplusplus
   }
#endif

#endif /* CRYPT_H_ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲最大的成人av| 日韩在线一区二区| 蜜臀av性久久久久蜜臀aⅴ| 在线不卡一区二区| 成人丝袜视频网| 亚洲国产精品视频| 日韩一区二区视频| jlzzjlzz欧美大全| 午夜精品福利一区二区蜜股av| 精品一区免费av| 欧美日韩国产一二三| 93久久精品日日躁夜夜躁欧美| 美女视频免费一区| 亚洲激情av在线| 久久九九影视网| 欧美电视剧在线观看完整版| 欧美性高清videossexo| 亚洲激情一二三区| 成人欧美一区二区三区视频网页 | 欧美影片第一页| 九色综合狠狠综合久久| 日韩精品专区在线| 精品在线亚洲视频| 亚洲综合在线电影| 精品欧美乱码久久久久久| 在线观看免费一区| 91在线观看一区二区| 风间由美性色一区二区三区| 美女网站色91| 亚洲精品中文字幕在线观看| 国产精品私人自拍| 欧美日韩国产a| 色综合久久精品| 在线观看三级视频欧美| 色香蕉成人二区免费| 成人免费毛片aaaaa**| 国产乱码字幕精品高清av| 青草av.久久免费一区| 国产精品99久久久久久有的能看| 热久久久久久久| 国产精品国产三级国产aⅴ入口| 日韩精品中午字幕| 精品久久一区二区| 亚洲国产精品激情在线观看 | 成人美女视频在线观看18| 成人动漫中文字幕| 在线成人小视频| 国产色产综合产在线视频| 亚洲综合自拍偷拍| 久久精品久久精品| 色婷婷一区二区| 久久理论电影网| 亚洲自拍与偷拍| 国产精品99久久久久久有的能看| 91欧美一区二区| 精品国产亚洲在线| 一区二区久久久| 国产乱理伦片在线观看夜一区| 色综合久久88色综合天天| 日韩一区二区在线观看| 亚洲欧美一区二区三区孕妇| 久久精品国产在热久久| 欧美中文字幕一区| 国产女同互慰高潮91漫画| 日韩不卡手机在线v区| 成人午夜在线播放| 日韩一区国产二区欧美三区| 亚洲美女视频在线| 激情av综合网| 欧美精品1区2区3区| 国产精品女主播av| 久久精品国产精品亚洲综合| 色偷偷久久一区二区三区| 国产婷婷色一区二区三区四区| 天天色天天操综合| 97久久久精品综合88久久| 日韩精品一区二区三区四区 | 免费成人结看片| 91亚洲国产成人精品一区二区三| 高清在线观看日韩| 国产91精品久久久久久久网曝门| 欧美男人的天堂一二区| 中文字幕中文字幕一区| 国产一区二区三区不卡在线观看| 678五月天丁香亚洲综合网| 亚洲激情av在线| 91丝袜高跟美女视频| 国产清纯在线一区二区www| 国产综合色精品一区二区三区| 欧美区在线观看| 夜夜嗨av一区二区三区网页| 色婷婷综合久久久久中文一区二区 | 亚洲黄色录像片| 97aⅴ精品视频一二三区| 欧美激情一区在线观看| 国产不卡高清在线观看视频| 久久久国产一区二区三区四区小说 | 亚洲精品一二三四区| 成人妖精视频yjsp地址| 久久久国产精品麻豆| 韩国毛片一区二区三区| 精品三级在线观看| 麻豆精品在线观看| 欧美xxxx在线观看| 精品亚洲成a人在线观看| 日韩欧美123| 理论片日本一区| 日本一区二区三区国色天香| 蜜臀国产一区二区三区在线播放| 成人精品视频网站| 久久亚洲精品小早川怜子| 国产在线视视频有精品| 久久综合色8888| 国产精品一区二区无线| 久久久久88色偷偷免费| 国产不卡在线视频| 国产精品久久久久久久久免费桃花| 成人免费视频播放| 亚洲欧美综合另类在线卡通| 一本大道久久a久久综合 | 99麻豆久久久国产精品免费优播| 日本一区二区在线不卡| www.欧美亚洲| 亚洲激情中文1区| 欧美人与z0zoxxxx视频| 麻豆精品精品国产自在97香蕉| 久久先锋资源网| 99久久久免费精品国产一区二区| 一区二区欧美在线观看| 91精品国产美女浴室洗澡无遮挡| 久久99精品视频| 国产蜜臀av在线一区二区三区| 色综合天天做天天爱| 首页亚洲欧美制服丝腿| 欧美tickling挠脚心丨vk| 成人免费视频一区| 一级特黄大欧美久久久| 国产精品福利电影一区二区三区四区| www激情久久| 成人在线视频一区二区| 亚洲国产色一区| 久久人人爽爽爽人久久久| 91在线观看视频| 蜜桃久久久久久久| 中文字幕亚洲电影| 欧美一区二区女人| 91网站最新网址| 麻豆精品久久精品色综合| 亚洲婷婷在线视频| 欧美一级二级三级蜜桃| 成人av在线资源网| 婷婷丁香久久五月婷婷| 国产欧美一区二区三区网站| 精品视频1区2区3区| 懂色av中文一区二区三区| 亚洲一区二区三区美女| 精品久久人人做人人爱| 色视频一区二区| 国产很黄免费观看久久| 亚洲bt欧美bt精品777| 久久久久久99久久久精品网站| 欧美亚洲日本国产| 国产高清亚洲一区| 日韩精品亚洲专区| 亚洲欧美区自拍先锋| 久久久久久久精| 5566中文字幕一区二区电影| 91麻豆国产福利在线观看| 国产一区二区三区不卡在线观看| 亚洲妇女屁股眼交7| 中文av一区特黄| 精品欧美久久久| 欧美猛男超大videosgay| 成人福利电影精品一区二区在线观看| 蜜臀av亚洲一区中文字幕| 亚洲制服丝袜av| 国产精品初高中害羞小美女文| 精品日韩一区二区三区免费视频| 在线精品视频一区二区三四| 成人精品免费网站| 国产一区二区三区四区五区美女| 亚洲一区二区三区中文字幕 | 国内一区二区视频| 日韩精品午夜视频| 亚洲高清免费视频| 亚洲精品欧美激情| 中文字幕日本不卡| 久久久国产一区二区三区四区小说 | 欧美日韩第一区日日骚| 色综合久久综合网| www.亚洲精品| 成人av集中营| 国产福利一区二区三区在线视频| 久久精品999| 麻豆精品蜜桃视频网站| 日本aⅴ精品一区二区三区 | 一本色道久久加勒比精品| a亚洲天堂av| 成人高清免费观看| 9人人澡人人爽人人精品|