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

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

?? mrio1.c

?? 比較新的功能強大的rsa算法源代碼,方便使用.
?? C
字號:
/*
 *   MIRACL I/O routines 1. 
 *   mrio1.c
 *
 *   Copyright (c) 1988-1997 Shamus Software Ltd.
 */

#include "miracl.h"

#ifndef MR_SIMPLE_IO

int instr(_MIPD_ flash x,char *string)
{  /*  input a big number       *
    *  returns length in digits */
    int i,ipt,n,s,e;
    int ch;
#ifdef MR_FLASH
    BOOL frac;
#endif
#ifdef MR_OS_THREADS
    miracl *mr_mip=get_mip();
#endif
    if (mr_mip->ERNUM) return 0;

    MR_IN(76)

    if (mr_mip->apbase==0 || mr_mip->apbase>256)
    {
        mr_berror(_MIPP_ MR_ERR_BASE_TOO_BIG);
        MR_OUT
        return 0;
    }

    if (!mr_mip->active)
    {
        mr_berror(_MIPP_ MR_ERR_NO_MIRSYS);
        MR_OUT
        return 0;
    }
    zero(x);
    if (mr_mip->fin) string=mr_mip->IOBUFF;
    if (mr_mip->INPLEN==0)
    { /* inputting ASCII bytes */

#ifndef MR_NO_FILE_IO

        if (mr_mip->fin)
        { /* read in characters */
            i=0;
            do
            {
                ch=fgetc(mr_mip->infile);
                if (ch==EOF) break;
                string[i++]=ch;

                if (i>=mr_mip->IOBSIZ)
                {
                    mr_berror(_MIPP_ MR_ERR_IO_OVERFLOW);
                    MR_OUT
                    return 0;
                }
            } while (ch!='\n' && ch!='\0'); 
            string[i]='\0';
        }


#endif
        forever
        { /*  get input length  */
            ch=(unsigned char)string[mr_mip->INPLEN];
            if (ch=='\0') break;
            if (mr_mip->apbase<=60 && ch=='\n') break;
            mr_mip->INPLEN++;
            if (string==mr_mip->IOBUFF && mr_mip->INPLEN>=mr_mip->IOBSIZ)
            {
                mr_berror(_MIPP_ MR_ERR_IO_OVERFLOW);
                MR_OUT
                return 0;
            }
        }
    }
    else
    { /* inputting BINARY bytes */
        if (string==mr_mip->IOBUFF && mr_mip->INPLEN>=mr_mip->IOBSIZ)
        {
            mr_berror(_MIPP_ MR_ERR_IO_OVERFLOW);
            MR_OUT
            return 0;
        }

#ifndef MR_NO_FILE_IO

        if (mr_mip->fin) for(i=0;i<mr_mip->INPLEN;i++) 
        {
            if ((ch=fgetc(mr_mip->infile))==EOF)
            {
                mr_mip->INPLEN=i;
                break;
            }
            string[i]=MR_TOBYTE(ch);
        }

#endif

    }
    n=0;
    s=PLUS;
    e=0;
#ifdef MR_FLASH
    frac=FALSE;
#endif
    if (mr_mip->INPLEN>0 && mr_mip->apbase<=60)
    { /* skip leading blanks and check sign */
#ifdef MR_FLASH
        if (string[mr_mip->INPLEN-1]=='/') mr_mip->INPLEN--;
#endif
        while (string[e]==' ') e++;
        if (string[e]=='-')
        { /* check sign */
             s=MINUS;
             e++;
        }
        if (string[e]=='+') e++;
    }
    for (i=mr_mip->INPLEN-1;i>=e;i--)
    {
        ch=(unsigned char)string[i];
        if (mr_mip->apbase<=60 || mr_mip->apbase==64)
        { /* check for slash or dot and convert character to number */
#ifdef MR_FLASH
            if (mr_mip->apbase<=60 && !frac)
            {
                if (ch=='/')
                {
                    frac=TRUE;
                    copy(x,mr_mip->w0);
                    zero(x);    
                    n=0;
                    continue;
                }
                if (ch=='.')
                {
                    frac=TRUE;
                    zero(mr_mip->w0);
                    putdig(_MIPP_ 1,mr_mip->w0,n+1);
                    continue;
                }
            }
#endif
            ch+=80;
            if (mr_mip->apbase==64)
            { /* base64 */
                if (ch<=112) continue; /* ignore white space */
                if (ch>144 && ch<171) ch-=145;
                if (ch>176 && ch<203) ch-=151;
                if (ch>127 && ch<138) ch-=76;
                if (ch==123) ch=62;
                if (ch==127) ch=63;
                if (ch==141) continue; /* ignore pads '=' */
            }
            else
            {
                if (ch>127 && ch<138) ch-=128;
                if (ch>144 && ch<171) ch-=135;
                if (mr_mip->apbase<=16)
                {
                    if (ch>176 && ch<203) ch-=167;
                }
                else
                {
                    if (ch>176 && ch<203) ch-=141;
                }
            }
        }
         
        if ((mr_small)ch>=mr_mip->apbase)
        {
            mr_berror(_MIPP_ MR_ERR_BAD_FORMAT);
            MR_OUT
            return 0;
        }
        n++;
        putdig(_MIPP_ ch,x,n);
    }
    ipt=mr_mip->INPLEN;
    mr_mip->INPLEN=0;
    insign(s,x);
    mr_lzero(x);
#ifdef MR_FLASH
    mr_lzero(mr_mip->w0);
    if (frac) fpack(_MIPP_ x,mr_mip->w0,x);
#endif
    MR_OUT
    return ipt;
}

int otstr(_MIPD_ flash x,char *string)
{  /*  output a big number  */
    int s,i,n,ch,rp,nd,m;
    BOOL check;
#ifdef MR_FLASH
    int nw,dw;
#endif
    mr_lentype lx;
    BOOL done;
#ifdef MR_OS_THREADS
    miracl *mr_mip=get_mip();
#endif
    if (mr_mip->ERNUM) return 0;

    MR_IN(75)

    if (mr_mip->apbase==0 || mr_mip->apbase>256)
    {
        mr_berror(_MIPP_ MR_ERR_BASE_TOO_BIG);
        MR_OUT
        return 0;
    }

    if (!mr_mip->active)
    {
        mr_berror(_MIPP_ MR_ERR_NO_MIRSYS);
        MR_OUT
        return 0;
    }
    n=0;
    s=exsign(x);
    insign(PLUS,x);
    lx = x->len;
    if (lx==0 && mr_mip->apbase<=60)
    {

#ifndef MR_NO_FILE_IO

        if (!mr_mip->fout)
        {
            string[0]='0';
            string[1]='\0';
        }
        else
        {
            fputc('0',mr_mip->otfile);
            fputc('\n',mr_mip->otfile);
        }
#else
        string[0]='0';
        string[1]='\0';

#endif
        MR_OUT
        return 1;
    }
    rp=0;
    if (s==MINUS && mr_mip->apbase<=60)
    {
#ifndef MR_NO_FILE_IO
        if (!mr_mip->fout) string[n]='-';
        else fputc('-',mr_mip->otfile);
#else
        string[n]='-';
#endif
        n++;
    }
#ifdef MR_FLASH
    done=FALSE;
    numer(_MIPP_ x,mr_mip->w6);
    if (mr_mip->RPOINT)
    { /* output with radix point */
        denom(_MIPP_ x,mr_mip->w5);
        if (size(mr_mip->w5)>1)
        { /* multiply up numerator to get full precision in *
           * the output. Remember position of radix point.  */
            nw=(int)(lx&MR_MSK);
            dw=(int)((lx>>MR_BTS)&MR_MSK);
            if (nw==0) nw++;
            check=mr_mip->check;
            mr_mip->check=OFF;
            if (nw>dw) mr_shift(_MIPP_ mr_mip->w5,nw-dw,mr_mip->w5);
            if (dw>nw) mr_shift(_MIPP_ mr_mip->w6,dw-nw,mr_mip->w6);
            nd=mr_mip->nib;
            if (mr_compare(mr_mip->w6,mr_mip->w5)>=0) nd--;
            copy(mr_mip->w6,mr_mip->w0);
            if (((int)mr_mip->w0->len+nd)>2*mr_mip->nib) nd=2*mr_mip->nib-(int)mr_mip->w0->len;
            mr_shift(_MIPP_ mr_mip->w0,nd,mr_mip->w0);
            divide(_MIPP_ mr_mip->w0,mr_mip->w5,mr_mip->w6);
            mr_mip->check=check;
            rp=mr_mip->pack*(nd+dw-nw);
        }
    }
#else
    copy(x,mr_mip->w6);
    done=TRUE;
#endif

    forever
    {
        nd=numdig(_MIPP_ mr_mip->w6);
        m=nd;
        if (rp>m) m=rp;
        for (i=m;i>0;i--)
        { 
            if (!mr_mip->fout && string==mr_mip->IOBUFF && n>=mr_mip->IOBSIZ-5)
            {
                mr_berror(_MIPP_ MR_ERR_IO_OVERFLOW);
                MR_OUT
                return n;
            }
#ifdef MR_FLASH
            if (i==rp && mr_mip->apbase<=60)
            {
#ifndef MR_NO_FILE_IO
                if (!mr_mip->fout) string[n]='.';
                else fputc('.',mr_mip->otfile);
#else
                string[n]='.';
#endif
                n++;
            }
#endif
            if (i>nd) ch='0';
            else
            {
                ch=getdig(_MIPP_ mr_mip->w6,i);
                check=mr_mip->check;
                mr_mip->check=OFF;
                putdig(_MIPP_ 0,mr_mip->w6,i);
                mr_mip->check=mr_mip->check;
                if (mr_mip->apbase<=60)
                { /* convert number to character */
                    ch+=48;
                    if (ch>=58) ch+=7;
                    if (ch>=91) ch+=6;
                }
                if (mr_mip->apbase==64)
                {
                    if (ch<26) ch+=65;
                    if (ch>=26 && ch<52) ch+=71;
                    if (ch>=52 && ch<62) ch-=4;
                    if (ch==62) ch='+';
                    if (ch==63) ch='/';
                }
            }
            if (i<rp && mr_mip->apbase<=60 && ch=='0' && size(mr_mip->w6)==0) break;
#ifndef MR_NO_FILE_IO
            if (!mr_mip->fout) string[n]=MR_TOBYTE(ch);
            else fputc(MR_TOBYTE(ch),mr_mip->otfile);
#else
            string[n]=MR_TOBYTE(ch); 
#endif
            n++;
        }
        if (done) break;
#ifdef MR_FLASH
        if (mr_mip->RPOINT) break;
        denom(_MIPP_ x,mr_mip->w6);
        if (size(mr_mip->w6)==1) break;
        if (mr_mip->apbase<=60)
        {
#ifndef MR_NO_FILE_IO
            if (!mr_mip->fout) string[n]='/';
            else fputc('/',mr_mip->otfile);
#else
            string[n]='/';
#endif
            n++;
        }
        done=TRUE;
#endif
    }
    if (mr_mip->apbase==64)
    { /* base64 padding */
        while (n%3!=0) 
        {
#ifndef MR_NO_FILE_IO
            if (!mr_mip->fout) string[n]='=';
            else fputc('=',mr_mip->otfile);
#else
            string[n]='=';
#endif
            n++;
        }
    }
/* Append a trailing 0 - it may be printable ascii text */    

#ifndef MR_NO_FILE_IO
    if (!mr_mip->fout) string[n]='\0';
    else if (mr_mip->apbase<=60 || mr_mip->apbase==64) fputc('\n',mr_mip->otfile);
#else
    string[n]='\0';
#endif
    insign(s,x);
    MR_OUT
    return n;
}

#ifndef MR_NO_FILE_IO

int innum(_MIPD_ flash x,FILE *filep)
{ /* convert from string to flash x */
    int n;
#ifdef MR_OS_THREADS
    miracl *mr_mip=get_mip();
#endif
    if (mr_mip->ERNUM) return 0;

    MR_IN(1)

    mr_mip->infile=filep;
    mr_mip->fin=TRUE;
    n=instr(_MIPP_ x,NULL);
    mr_mip->fin=FALSE;

    MR_OUT
    return n;
}

int otnum(_MIPD_ flash x,FILE *filep)
{ /* convert flash to string */
    int n;
#ifdef MR_OS_THREADS
    miracl *mr_mip=get_mip();
#endif
    if (mr_mip->ERNUM) return 0;

    MR_IN(2)

    mr_mip->otfile=filep;
    mr_mip->fout=TRUE;
    n=otstr(_MIPP_ x,NULL);
    mr_mip->fout=FALSE;

    MR_OUT
    return n;
}

#endif

#else

#ifndef MR_FLASH
#ifndef MR_NO_STANDARD_IO
#ifndef MR_FP

int otnum(_MIPD_ flash x,FILE *filep)
{ /* support crude hex output only */
    int i,j,ch,n;
    BOOL leading=TRUE;
    mr_small w;
    n=0;
    if (size(x)<0) fputc('-',filep);
    for (i=(x->len&MR_OBITS)-1;i>=0;i--)
    {
        w=x->w[i];
        for (j=MIRACL-4;j>=0;j-=4)
        {
            ch=48+((w>>j)&0xF);
            if (ch==48 && leading) continue;
            leading=FALSE;
            if (ch>=58) ch+=7;
            fputc(MR_TOBYTE(ch),filep);
            n++;
        }
    }
    fputc('\n',filep);
    return n;
}

#endif
#endif
#endif

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲第一区在线暖暖韩国 | 一区二区三区丝袜| 中文字幕在线免费不卡| 亚洲精品久久7777| 日本欧美一区二区| 成人app在线| 7777精品伊人久久久大香线蕉完整版| 欧美一级淫片007| 国产精品久久久久久久久图文区 | 在线精品视频一区二区| 欧美一区在线视频| 日韩毛片在线免费观看| 亚洲成人精品影院| 成人免费黄色大片| 欧美一区二区三区免费在线看| 久久久国产精品麻豆| 亚洲综合一区二区精品导航| 亚洲国产精品久久一线不卡| 国产在线精品一区二区夜色| 色成年激情久久综合| 久久综合国产精品| 日韩电影在线观看一区| av在线一区二区三区| 欧美一区二区三区系列电影| 亚洲欧美视频在线观看视频| 国内精品伊人久久久久影院对白| 欧美艳星brazzers| 亚洲欧美影音先锋| 国产+成+人+亚洲欧洲自线| 欧美一区永久视频免费观看| 亚洲色图在线播放| 国产91精品久久久久久久网曝门| 在线不卡免费欧美| 日韩精品1区2区3区| 国产丶欧美丶日本不卡视频| 69堂国产成人免费视频| 一区二区不卡在线播放 | 国产成人啪午夜精品网站男同| 欧美男女性生活在线直播观看| 国产精品护士白丝一区av| 国产一区在线不卡| 日韩欧美在线综合网| 亚洲国产欧美在线| 欧美丝袜第三区| 一区2区3区在线看| 色狠狠综合天天综合综合| 久久精品人人做人人爽人人| 久久精品国产在热久久| 欧美一区二区三区喷汁尤物| 日韩专区中文字幕一区二区| 欧美亚洲丝袜传媒另类| 一区二区久久久久久| 在线看国产一区| 亚洲一线二线三线久久久| 在线免费不卡电影| 亚洲国产sm捆绑调教视频 | 成人性生交大片免费看在线播放| 国产欧美日韩在线| 国产成人aaaa| 最好看的中文字幕久久| 色一情一乱一乱一91av| 一区二区三区在线免费| 欧美视频一区二区| 青青草国产成人av片免费| 日韩精品一区二区三区在线| 久久99精品一区二区三区| 久久久一区二区三区捆绑**| 丁香激情综合国产| 亚洲日本在线观看| 欧美男同性恋视频网站| 九九视频精品免费| 国产欧美一区二区精品婷婷| 在线播放中文字幕一区| 日本午夜一区二区| 久久综合狠狠综合久久综合88| 国产成人综合在线观看| 尤物视频一区二区| 91精品国产福利在线观看| 美腿丝袜一区二区三区| 欧美成人免费网站| 99热在这里有精品免费| 夜夜嗨av一区二区三区四季av | 成人在线视频首页| 中文字幕一区二区三区四区不卡 | 精品在线你懂的| 最新中文字幕一区二区三区 | 波多野结衣在线一区| 亚洲国产欧美日韩另类综合 | 色999日韩国产欧美一区二区| 老司机午夜精品99久久| 亚洲一区二区三区四区五区中文| 久久久噜噜噜久噜久久综合| 在线电影欧美成精品| 91看片淫黄大片一级在线观看| 美日韩一区二区三区| 亚洲一区二区av电影| 国产精品久久久久久妇女6080| 亚洲精品一区二区三区四区高清| 欧美日韩在线三区| 91成人免费在线| 99久久精品久久久久久清纯| 国产高清久久久| 国产精一区二区三区| 精品在线播放免费| 韩国三级电影一区二区| 男女男精品视频| 日韩av一区二区三区四区| 亚洲一区二区在线观看视频 | 91成人在线免费观看| 色综合中文字幕国产 | 中文字幕欧美日本乱码一线二线| 精品国产亚洲在线| 精品成人在线观看| 2019国产精品| 久久婷婷久久一区二区三区| 欧美精品一区男女天堂| www国产成人| 国产欧美一区二区精品性| 国产三级精品视频| 国产精品久久久久aaaa| 一色屋精品亚洲香蕉网站| 亚洲免费在线播放| 亚洲午夜在线观看视频在线| 亚洲已满18点击进入久久| 视频一区在线播放| 久久成人免费日本黄色| 国产一区二区不卡在线| 成人小视频免费观看| 99国产精品久久久久久久久久久| 99久久精品免费看| 欧美少妇bbb| 日韩欧美国产小视频| 久久久蜜桃精品| 亚洲人成精品久久久久久| 亚洲国产精品一区二区www| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久99久久99| 97精品超碰一区二区三区| 久久精品亚洲一区二区三区浴池 | 欧美一区二区福利视频| 精品美女一区二区| 欧美国产精品v| 亚洲国产精品一区二区尤物区| 青青青伊人色综合久久| 粉嫩在线一区二区三区视频| 色婷婷综合久久久久中文| 7777精品久久久大香线蕉| 国产午夜精品一区二区三区四区| 自拍偷拍亚洲欧美日韩| 免费欧美在线视频| 99热精品国产| 精品久久久久久最新网址| 国产精品欧美精品| 午夜精品久久久久| 北条麻妃国产九九精品视频| 欧美日韩久久久久久| 久久久噜噜噜久噜久久综合| 亚洲一区二区欧美| 国产露脸91国语对白| 欧美三级电影在线观看| 久久精品一区二区三区四区| 亚洲成人动漫在线免费观看| 国产一区二区三区香蕉| 精品视频全国免费看| 国产精品国产精品国产专区不片| 奇米在线7777在线精品| 91美女片黄在线观看| 久久久综合精品| 日韩高清不卡一区二区| 色久优优欧美色久优优| 国产欧美日韩麻豆91| 日韩经典中文字幕一区| 色综合色狠狠综合色| 欧美成人三级电影在线| 亚洲成av人片在线观看无码| 99国产精品国产精品毛片| 欧美精品一区二区三区蜜臀| 手机精品视频在线观看| 91成人在线免费观看| 1000部国产精品成人观看| 国产在线视视频有精品| 日韩一区二区在线看片| 亚洲综合免费观看高清在线观看| 欧美一区二区在线免费播放| 国产精品麻豆视频| 国产一区福利在线| 日韩精品一区二区三区在线播放| 一区二区三区四区精品在线视频| 激情综合网av| 3d动漫精品啪啪| 午夜亚洲国产au精品一区二区| 色婷婷综合中文久久一本| 自拍偷拍亚洲激情| 99re这里都是精品| 国产精品乱码一区二区三区软件 | 精品欧美一区二区在线观看| 奇米四色…亚洲| 日韩欧美三级在线| 免费在线视频一区| 欧美电影免费观看高清完整版 |