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

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

?? combine.c

?? enigma源碼
?? C
字號(hào):
/* COMBINE.C - Program to "combine" the files of a Threshhold Information        Protection Scheme.Author: Peter Pearson.Version of 93.02.15.This program is the complement of DISPERSE. See DISPERSE.C for literaturereferences.This program EXITs with errorlevel 0 normally,                                   2 if it couldn't find enough files.Revision history:        87.07.06 - Initial version.        93.02.15 - Move argument names into function definitions.*/#include <stdio.h>#include <time.h>#include <fcntl.h>#include <io.h>#include <process.h>#include <string.h>#include "g13.h"#define BOOLEAN int#define FALSE   0#define TRUE    (1==1)void main( int argc, char *argv[] ){    FILE *InputFiles[15] ;    int Positions[15] ;    int NumberInputs ;    BOOLEAN InputsOK( char *FamilyName, int Positions[], FILE *InputFiles[],                      int *RequiredPtr ) ;    void Combine( int Positions[], FILE *InputFiles[], int NumberInputs ) ;    int ExitCode ;    ExitCode = 2 ;      /* Unless things go just right, return an unhappy                           exit code.  */    if ( argc != 2 )    {        fprintf( stderr,            "Usage: COMBINE filename\n" ) ;        fprintf( stderr,            "where 'filename' identifies a family of files named\n" ) ;        fprintf( stderr,            "filename.f0, filename.f4, etc.\n" ) ;    }    else    {        if ( InputsOK( argv[1], Positions, InputFiles, &NumberInputs ) )        {            Combine( Positions, InputFiles, NumberInputs ) ;            ExitCode = 0 ;        }    }    exit( ExitCode ) ;}BOOLEAN InputsOK( char *FamilyName,     /* Input. */                  int   Positions[],    /* Output. */                  FILE *InputFiles[],   /* Output. */                  int  *RequiredPtr )   /* Output. *//*        Try to open as many files of the input "family" as are necessary        to reconstitute the output file.Returns with a list of open files in the InputFiles array, and thenumber in *RequiredPtr. The array Positions returns the "sequence number"of each file within the family.Returns:        TRUE if everything goes OK,        FALSE if there aren't enough input files, or some inconsistency                is found.Details:        Files of the input family are expected to have names of the form        FAMILYNAME.F1, FAMILYNAME.F2, ..., FAMILYNAME.F15.        The first byte of each input file contains the number of files        required to reconstitute the output file. These first bytes must all        agree.        The second byte of each input file gives the "sequence number"        of that file in the family. It must be greater than zero, and must not        be greater than the first byte.        Neither the first byte nor the second byte may exceed 15.        The first two bytes are read from each input file inside this        routine.*/{    char TryName[100] ;    char FirstName[100] ;    BOOLEAN FoundSequence[16] ;    int i ;    int Count ;    int Required ;    BOOLEAN Acceptable ;    Count = 0 ;    for ( i = 0; i < 16; i++ ) FoundSequence[i] = FALSE ;    for ( i = 1; i <= 15; i++ )    {        sprintf( TryName, "%s.f%d", FamilyName, i ) ;        if ( ( *InputFiles = fopen( TryName, "r" ) ) != NULL )        {            Acceptable = TRUE ;            setmode( fileno( *InputFiles ), O_BINARY ) ;            if ( Count == 0 )            {                if ( ( Required = getc( *InputFiles ) ) > 15                || Required < 2 )                {                    fprintf( stderr,                        "The first byte of '%s' is not what I expect."                        " '%s' will be ignored.\n",                        TryName, TryName ) ;                    Acceptable = FALSE ;                }            }            else if ( Required != getc( *InputFiles ) )            {                fprintf( stderr,                    "Input files '%s' and '%s' come from different sets.\n",                    FirstName, TryName ) ;                fprintf( stderr, "'%s' will be ignored.\n", TryName ) ;                Acceptable = FALSE ;            }            if ( Acceptable )            {                *Positions = getc( *InputFiles ) ;                if ( *Positions < 1 || *Positions > 15 )                {                    fprintf( stderr,                        "The second byte of '%s' isn't what I expect."                        " I'll ignore '%s'.\n",                        TryName, TryName ) ;                    Acceptable = FALSE ;                }                else if ( FoundSequence[ *Positions ] )                {                    fprintf( stderr,                        "'%s' has the same sequence number as somebody else."                        " I'll ignore '%s'.\n",                        TryName, TryName ) ;                    Acceptable = FALSE ;                }            }            if ( Acceptable )            {                if ( Count == 0 ) strcpy( FirstName, TryName ) ;                FoundSequence[ *Positions ] = TRUE ;                ++Positions ;                ++InputFiles ;                ++Count ;            }            else            {                fclose( *InputFiles ) ;            }        }        if ( Count > 2 && Count >= Required ) break ;    }    if ( Count <= 0 )    {        fprintf( stderr, "Didn't find any input files. Sorry.\n" ) ;        return FALSE ;    }    else if ( Count < Required )    {        fprintf( stderr, "I have %d of the %d files needed.\n",            Count, Required ) ;        return FALSE ;    }    else    {        *RequiredPtr = Required ;        return TRUE ;    }}void Combine( int Positions[], FILE *InputFiles[], int NumberInputs ){    int OddNibble ;    BOOLEAN Odd ;    int i ;    int j ;    G13 C[15] ;    G13 c ;    G13 Y[15] ;    BOOLEAN FillNibbles( G13 *Nibbles, FILE *InputFiles[], int NumberInputs );    setmode( fileno( stdout ), O_BINARY ) ;    /* Compute the coefficients by which the nibbles from the     * various input files can be combined to produce the output     * file.     *     If X(i) is the "position" of the ith input file, and     * Y(i) is the value of a particular nibble in the ith file,     * we will find coefficients C(i) such that     *      *     p = C(1) * Y(1) + C(2) * Y(2) + ...     *      * where p is the appropriate nibble for the output file.     *      *     The formula for the Cs is:     *      *     C(i) = product of (   X(j) / ( X(i) - X(j) )   ) for all j != i .     *      *      */    for ( i = 0; i < NumberInputs; i++ )    {        c = 1 ;        for ( j = 0; j < NumberInputs; j++ )            if ( j != i )                c = Mult( c,                        Div( Positions[j], Positions[i] ^ Positions[j] ) ) ;        C[i] = c ;    }    /*     *  Now, process the input files:     */    Odd = TRUE ;    while ( FillNibbles( Y, InputFiles, NumberInputs ) )    {        c = 0 ;        for ( i = 0; i < NumberInputs; i++ )            c ^= Mult( C[i], Y[i] ) ;        if ( Odd )            OddNibble = c ;        else            putchar( ( OddNibble << 4 ) | c ) ;        Odd = !Odd ;    }}BOOLEAN FillNibbles( G13  *Nibbles,       /* Output. */                     FILE *InputFiles[],  /* Input. */                     int   NumberInputs ) /* Input. *//*        Fill the output array with nibbles, one from each        input file.Returns        TRUE  normally,        FALSE if an error or end-of-file condition is encountered.*/{    static BOOLEAN Odd = TRUE ;    static G13 Holdover[15] ;    int c ;    int i ;    if ( Odd )    {        for ( i = 0; i < NumberInputs; i++, InputFiles++ )        {            if ( ( c = getc( *InputFiles ) ) == EOF )            {                if ( i != 0 ) fprintf( stderr,                    "Warning: Input files weren't all the same length!\n" ) ;                return FALSE ;            }            else            {                *Nibbles++ = ( c >> 4 ) & 0xF ;                Holdover[i] = c & 0xF ;            }        }    }    else    {        for ( i = 0; i < NumberInputs; i++ )            *Nibbles++ = Holdover[i] ;    }    Odd = !Odd ;    return TRUE ;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人激情av| 美女视频一区在线观看| 在线成人午夜影院| 国产久卡久卡久卡久卡视频精品| 亚洲欧洲日产国码二区| 欧美老人xxxx18| av电影在线观看一区| 日韩精品五月天| 亚洲天堂免费看| 精品久久久久久久久久久久久久久| 99热在这里有精品免费| 久久9热精品视频| 亚洲妇熟xx妇色黄| 亚洲视频一区在线观看| 国产午夜精品一区二区三区四区| 制服丝袜亚洲播放| 在线看日韩精品电影| 成人a区在线观看| 国产精品系列在线播放| 狠狠色2019综合网| 肉丝袜脚交视频一区二区| 亚洲欧美偷拍卡通变态| 国产精品美女www爽爽爽| 日韩美女视频一区二区在线观看| 欧美久久久久久蜜桃| 91视频精品在这里| 99久久综合色| 成人18视频日本| 国产精品一区二区久久不卡 | 五月开心婷婷久久| 亚洲免费大片在线观看| 国产精品免费久久| 亚洲国产高清在线| 国产色产综合产在线视频| 久久亚洲一区二区三区四区| 日韩视频在线一区二区| 日韩一区二区免费电影| 欧美一卡在线观看| 欧美一二区视频| 欧美一级免费观看| 日韩欧美电影一区| 精品999在线播放| 26uuu国产日韩综合| 精品国产一区二区三区忘忧草| 欧美电影免费提供在线观看| 日韩你懂的在线播放| 日韩精品综合一本久道在线视频| 欧美第一区第二区| 久久久精品国产免费观看同学| 欧美精品一区二区三区一线天视频| 日韩欧美国产电影| 国产人成一区二区三区影院| 欧美精彩视频一区二区三区| 国产精品久久久久永久免费观看| 亚洲欧美一区二区视频| 一区二区欧美视频| 三级欧美在线一区| 国产伦精品一区二区三区视频青涩| 高清不卡在线观看| 一本久道中文字幕精品亚洲嫩| 欧美亚洲一区二区在线| 5月丁香婷婷综合| 精品欧美乱码久久久久久| 久久精品视频免费| 中文字幕综合网| 调教+趴+乳夹+国产+精品| 久久国内精品视频| 国产成人高清视频| 在线精品视频一区二区| 91精品国产色综合久久不卡电影| 精品国产乱码久久久久久影片| 国产精品婷婷午夜在线观看| 一区二区三区视频在线看| 日韩电影在线一区二区三区| 国产黄人亚洲片| 欧美无人高清视频在线观看| 久久亚洲精精品中文字幕早川悠里 | 91久久香蕉国产日韩欧美9色| 欧美久久免费观看| 欧美国产精品一区二区三区| 亚洲一区二区三区影院| 美国三级日本三级久久99| 99热国产精品| 日韩欧美电影一区| 亚洲女同ⅹxx女同tv| 麻豆久久一区二区| 91亚洲国产成人精品一区二区三 | 欧美高清在线一区| 亚洲第一综合色| 国产精品资源网| 色噜噜久久综合| 亚洲精品在线电影| 一片黄亚洲嫩模| 国产成人在线免费观看| 欧美日韩视频在线观看一区二区三区| 精品国产3级a| 亚洲一区二区视频在线| 成人自拍视频在线观看| 制服视频三区第一页精品| 国产精品国产馆在线真实露脸| 日韩av电影免费观看高清完整版| 国产成人超碰人人澡人人澡| 91精品中文字幕一区二区三区| 国产精品电影院| 国产麻豆精品久久一二三| 欧美日韩国产综合一区二区三区 | 欧美日韩激情一区| 亚洲视频一区在线| 国产成人综合亚洲91猫咪| 欧美一区二区三级| 亚洲最大的成人av| 99久久精品久久久久久清纯| 久久亚洲精华国产精华液| 日韩1区2区3区| 欧美日韩一区二区三区高清| 亚洲色图都市小说| 不卡的av网站| 国产精品乱码一区二区三区软件| 久久99国产精品免费网站| 欧美肥大bbwbbw高潮| 亚洲一区二区黄色| 在线观看一区二区精品视频| 亚洲图片欧美激情| 99久久精品国产一区二区三区| 国产欧美日韩中文久久| 国产在线播放一区| 欧美成人a∨高清免费观看| 日韩vs国产vs欧美| 欧美日韩dvd在线观看| 亚洲国产欧美日韩另类综合| 色狠狠综合天天综合综合| 亚洲视频一区二区在线观看| 91丨国产丨九色丨pron| 亚洲欧洲国产日本综合| 成人美女在线观看| 国产精品久线在线观看| 成人午夜激情在线| 一区在线播放视频| 91在线无精精品入口| 亚洲美女视频在线| 欧美性色黄大片手机版| 亚洲成av人在线观看| 欧美日韩精品一区二区三区四区| 丝袜脚交一区二区| 91精品国产色综合久久| 久久国产精品色婷婷| 2024国产精品| 丁香六月综合激情| 综合色中文字幕| 欧美在线播放高清精品| 午夜av区久久| 欧美成va人片在线观看| 国产激情视频一区二区三区欧美| 国产精品萝li| 欧美日韩中文国产| 久久国产精品色| 国产精品色哟哟网站| 一本色道久久综合狠狠躁的推荐 | 欧美美女bb生活片| 六月丁香综合在线视频| 久久久精品一品道一区| 99久久亚洲一区二区三区青草 | 亚洲欧美日韩系列| 欧美福利一区二区| 国产一区二区三区电影在线观看| 日本一区二区免费在线| 91麻豆免费看片| 美国十次综合导航| 国产精品乱子久久久久| 欧美图区在线视频| 精品一区二区三区蜜桃| 国产精品乱子久久久久| 91.成人天堂一区| 国产成人av资源| 亚洲国产综合视频在线观看| 日韩欧美久久久| av电影天堂一区二区在线观看| 亚洲一区视频在线观看视频| 日韩免费视频一区| eeuss影院一区二区三区| 肉丝袜脚交视频一区二区| 国产拍揄自揄精品视频麻豆| 欧美日韩激情一区二区三区| 成人免费视频网站在线观看| 亚洲小说欧美激情另类| 久久久不卡影院| 欧美日韩一区久久| 成人在线视频一区二区| 日本美女一区二区三区| 国产精品国产三级国产普通话99 | 一本大道久久a久久综合| 久久99精品国产.久久久久久 | 国产精品资源网站| 婷婷中文字幕综合| 国产精品久久久久影院| 日韩一区二区视频在线观看| 91亚洲精品乱码久久久久久蜜桃 | 日韩二区三区四区| 亚洲欧美日韩小说| 日本一二三不卡|