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

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

?? sha512.c

?? 最新版本的加密解密算法庫
?? C
字號:
/* LibTomCrypt, modular cryptographic library -- Tom St Denis * * LibTomCrypt is a library that provides various cryptographic * algorithms in a highly modular and flexible manner. * * The library is free for all purposes without any express * guarantee it works. * * Tom St Denis, tomstdenis@iahu.ca, http://libtomcrypt.org *//* SHA512 by Tom St Denis */#include "mycrypt.h"#ifdef SHA512const struct _hash_descriptor sha512_desc ={    "sha512",    5,    64,    128,    /* DER identifier */    { 0x30, 0x51, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86,       0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05,       0x00, 0x04, 0x40 },    19,    &sha512_init,    &sha512_process,    &sha512_done,    &sha512_test};/* the K array */static const ulong64 K[80] = {CONST64(0x428a2f98d728ae22), CONST64(0x7137449123ef65cd), CONST64(0xb5c0fbcfec4d3b2f), CONST64(0xe9b5dba58189dbbc),CONST64(0x3956c25bf348b538), CONST64(0x59f111f1b605d019), CONST64(0x923f82a4af194f9b), CONST64(0xab1c5ed5da6d8118),CONST64(0xd807aa98a3030242), CONST64(0x12835b0145706fbe), CONST64(0x243185be4ee4b28c), CONST64(0x550c7dc3d5ffb4e2),CONST64(0x72be5d74f27b896f), CONST64(0x80deb1fe3b1696b1), CONST64(0x9bdc06a725c71235), CONST64(0xc19bf174cf692694),CONST64(0xe49b69c19ef14ad2), CONST64(0xefbe4786384f25e3), CONST64(0x0fc19dc68b8cd5b5), CONST64(0x240ca1cc77ac9c65),CONST64(0x2de92c6f592b0275), CONST64(0x4a7484aa6ea6e483), CONST64(0x5cb0a9dcbd41fbd4), CONST64(0x76f988da831153b5),CONST64(0x983e5152ee66dfab), CONST64(0xa831c66d2db43210), CONST64(0xb00327c898fb213f), CONST64(0xbf597fc7beef0ee4),CONST64(0xc6e00bf33da88fc2), CONST64(0xd5a79147930aa725), CONST64(0x06ca6351e003826f), CONST64(0x142929670a0e6e70),CONST64(0x27b70a8546d22ffc), CONST64(0x2e1b21385c26c926), CONST64(0x4d2c6dfc5ac42aed), CONST64(0x53380d139d95b3df),CONST64(0x650a73548baf63de), CONST64(0x766a0abb3c77b2a8), CONST64(0x81c2c92e47edaee6), CONST64(0x92722c851482353b),CONST64(0xa2bfe8a14cf10364), CONST64(0xa81a664bbc423001),CONST64(0xc24b8b70d0f89791), CONST64(0xc76c51a30654be30),CONST64(0xd192e819d6ef5218), CONST64(0xd69906245565a910), CONST64(0xf40e35855771202a), CONST64(0x106aa07032bbd1b8),CONST64(0x19a4c116b8d2d0c8), CONST64(0x1e376c085141ab53), CONST64(0x2748774cdf8eeb99), CONST64(0x34b0bcb5e19b48a8),CONST64(0x391c0cb3c5c95a63), CONST64(0x4ed8aa4ae3418acb), CONST64(0x5b9cca4f7763e373), CONST64(0x682e6ff3d6b2b8a3),CONST64(0x748f82ee5defb2fc), CONST64(0x78a5636f43172f60), CONST64(0x84c87814a1f0ab72), CONST64(0x8cc702081a6439ec),CONST64(0x90befffa23631e28), CONST64(0xa4506cebde82bde9), CONST64(0xbef9a3f7b2c67915), CONST64(0xc67178f2e372532b),CONST64(0xca273eceea26619c), CONST64(0xd186b8c721c0c207), CONST64(0xeada7dd6cde0eb1e), CONST64(0xf57d4f7fee6ed178),CONST64(0x06f067aa72176fba), CONST64(0x0a637dc5a2c898a6), CONST64(0x113f9804bef90dae), CONST64(0x1b710b35131c471b),CONST64(0x28db77f523047d84), CONST64(0x32caab7b40c72493), CONST64(0x3c9ebe0a15c9bebc), CONST64(0x431d67c49c100d4c),CONST64(0x4cc5d4becb3e42b6), CONST64(0x597f299cfc657e2a), CONST64(0x5fcb6fab3ad6faec), CONST64(0x6c44198c4a475817)};/* Various logical functions */#define Ch(x,y,z)       (z ^ (x & (y ^ z)))#define Maj(x,y,z)      (((x | y) & z) | (x & y)) #define S(x, n)         ROR64((x),(n))#define R(x, n)         (((x)&CONST64(0xFFFFFFFFFFFFFFFF))>>((ulong64)n))#define Sigma0(x)       (S(x, 28) ^ S(x, 34) ^ S(x, 39))#define Sigma1(x)       (S(x, 14) ^ S(x, 18) ^ S(x, 41))#define Gamma0(x)       (S(x, 1) ^ S(x, 8) ^ R(x, 7))#define Gamma1(x)       (S(x, 19) ^ S(x, 61) ^ R(x, 6))/* compress 1024-bits */#ifdef CLEAN_STACKstatic void _sha512_compress(hash_state * md, unsigned char *buf)#elsestatic void sha512_compress(hash_state * md, unsigned char *buf)#endif{    ulong64 S[8], W[80], t0, t1;    int i;    /* copy state into S */    for (i = 0; i < 8; i++) {        S[i] = md->sha512.state[i];    }    /* copy the state into 1024-bits into W[0..15] */    for (i = 0; i < 16; i++) {        LOAD64H(W[i], buf + (8*i));    }    /* fill W[16..79] */    for (i = 16; i < 80; i++) {        W[i] = Gamma1(W[i - 2]) + W[i - 7] + Gamma0(W[i - 15]) + W[i - 16];    }            /* Compress */#ifdef SMALL_CODE    for (i = 0; i < 80; i++) {        t0 = S[7] + Sigma1(S[4]) + Ch(S[4], S[5], S[6]) + K[i] + W[i];        t1 = Sigma0(S[0]) + Maj(S[0], S[1], S[2]);        S[7] = S[6];        S[6] = S[5];        S[5] = S[4];        S[4] = S[3] + t0;        S[3] = S[2];        S[2] = S[1];        S[1] = S[0];        S[0] = t0 + t1;    }#else#define RND(a,b,c,d,e,f,g,h,i)                    \     t0 = h + Sigma1(e) + Ch(e, f, g) + K[i] + W[i];   \     t1 = Sigma0(a) + Maj(a, b, c);                  \     d += t0;                                        \     h  = t0 + t1;     for (i = 0; i < 80; i += 8) {         RND(S[0],S[1],S[2],S[3],S[4],S[5],S[6],S[7],i+0);         RND(S[7],S[0],S[1],S[2],S[3],S[4],S[5],S[6],i+1);         RND(S[6],S[7],S[0],S[1],S[2],S[3],S[4],S[5],i+2);         RND(S[5],S[6],S[7],S[0],S[1],S[2],S[3],S[4],i+3);         RND(S[4],S[5],S[6],S[7],S[0],S[1],S[2],S[3],i+4);         RND(S[3],S[4],S[5],S[6],S[7],S[0],S[1],S[2],i+5);         RND(S[2],S[3],S[4],S[5],S[6],S[7],S[0],S[1],i+6);         RND(S[1],S[2],S[3],S[4],S[5],S[6],S[7],S[0],i+7);     }#endif         /* feedback */    for (i = 0; i < 8; i++) {        md->sha512.state[i] = md->sha512.state[i] + S[i];    }}/* compress 1024-bits */#ifdef CLEAN_STACKstatic void sha512_compress(hash_state * md, unsigned char *buf){    _sha512_compress(md, buf);    burn_stack(sizeof(ulong64) * 90 + sizeof(int));}#endif/* init the sha512 state */void sha512_init(hash_state * md){    _ARGCHK(md != NULL);    md->sha512.curlen = 0;    md->sha512.length = 0;    md->sha512.state[0] = CONST64(0x6a09e667f3bcc908);    md->sha512.state[1] = CONST64(0xbb67ae8584caa73b);    md->sha512.state[2] = CONST64(0x3c6ef372fe94f82b);    md->sha512.state[3] = CONST64(0xa54ff53a5f1d36f1);    md->sha512.state[4] = CONST64(0x510e527fade682d1);    md->sha512.state[5] = CONST64(0x9b05688c2b3e6c1f);    md->sha512.state[6] = CONST64(0x1f83d9abfb41bd6b);    md->sha512.state[7] = CONST64(0x5be0cd19137e2179);}HASH_PROCESS(sha512_process, sha512_compress, sha512, 128)int sha512_done(hash_state * md, unsigned char *hash){    int i;    _ARGCHK(md != NULL);    _ARGCHK(hash != NULL);    if (md->sha512.curlen >= sizeof(md->sha512.buf)) {       return CRYPT_INVALID_ARG;    }    /* increase the length of the message */    md->sha512.length += md->sha512.curlen * CONST64(8);    /* append the '1' bit */    md->sha512.buf[md->sha512.curlen++] = (unsigned char)0x80;    /* if the length is currently above 112 bytes we append zeros     * then compress.  Then we can fall back to padding zeros and length     * encoding like normal.     */    if (md->sha512.curlen > 112) {        while (md->sha512.curlen < 128) {            md->sha512.buf[md->sha512.curlen++] = (unsigned char)0;        }        sha512_compress(md, md->sha512.buf);        md->sha512.curlen = 0;    }    /* pad upto 120 bytes of zeroes      * note: that from 112 to 120 is the 64 MSB of the length.  We assume that you won't hash     * > 2^64 bits of data... :-)     */    while (md->sha512.curlen < 120) {        md->sha512.buf[md->sha512.curlen++] = (unsigned char)0;    }    /* store length */    STORE64H(md->sha512.length, md->sha512.buf+120);    sha512_compress(md, md->sha512.buf);    /* copy output */    for (i = 0; i < 8; i++) {        STORE64H(md->sha512.state[i], hash+(8*i));    }#ifdef CLEAN_STACK    zeromem(md, sizeof(hash_state));#endif    return CRYPT_OK;}int  sha512_test(void){ #ifndef LTC_TEST    return CRYPT_NOP; #else      static const struct {      char *msg;      unsigned char hash[64];  } tests[] = {    { "abc",     { 0xdd, 0xaf, 0x35, 0xa1, 0x93, 0x61, 0x7a, 0xba,       0xcc, 0x41, 0x73, 0x49, 0xae, 0x20, 0x41, 0x31,       0x12, 0xe6, 0xfa, 0x4e, 0x89, 0xa9, 0x7e, 0xa2,       0x0a, 0x9e, 0xee, 0xe6, 0x4b, 0x55, 0xd3, 0x9a,       0x21, 0x92, 0x99, 0x2a, 0x27, 0x4f, 0xc1, 0xa8,       0x36, 0xba, 0x3c, 0x23, 0xa3, 0xfe, 0xeb, 0xbd,       0x45, 0x4d, 0x44, 0x23, 0x64, 0x3c, 0xe8, 0x0e,       0x2a, 0x9a, 0xc9, 0x4f, 0xa5, 0x4c, 0xa4, 0x9f }    },    { "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu",     { 0x8e, 0x95, 0x9b, 0x75, 0xda, 0xe3, 0x13, 0xda,       0x8c, 0xf4, 0xf7, 0x28, 0x14, 0xfc, 0x14, 0x3f,       0x8f, 0x77, 0x79, 0xc6, 0xeb, 0x9f, 0x7f, 0xa1,       0x72, 0x99, 0xae, 0xad, 0xb6, 0x88, 0x90, 0x18,       0x50, 0x1d, 0x28, 0x9e, 0x49, 0x00, 0xf7, 0xe4,       0x33, 0x1b, 0x99, 0xde, 0xc4, 0xb5, 0x43, 0x3a,       0xc7, 0xd3, 0x29, 0xee, 0xb6, 0xdd, 0x26, 0x54,       0x5e, 0x96, 0xe5, 0x5b, 0x87, 0x4b, 0xe9, 0x09 }    },  };  int i;  unsigned char tmp[64];  hash_state md;  for (i = 0; i < (int)(sizeof(tests) / sizeof(tests[0])); i++) {      sha512_init(&md);      sha512_process(&md, (unsigned char *)tests[i].msg, (unsigned long)strlen(tests[i].msg));      sha512_done(&md, tmp);      if (memcmp(tmp, tests[i].hash, 64) != 0) {         return CRYPT_FAIL_TESTVECTOR;      }  }  return CRYPT_OK;  #endif}#ifdef SHA384   #include "sha384.c"#endif#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利精品第一导航| 日韩国产在线一| 99视频一区二区| 亚洲乱码日产精品bd| 欧美日韩精品欧美日韩精品一综合| 香蕉成人啪国产精品视频综合网| 欧美亚州韩日在线看免费版国语版| 亚洲国产精品久久人人爱 | 午夜日韩在线电影| 欧美一区二区在线免费观看| 美脚の诱脚舐め脚责91| 久久亚洲精品国产精品紫薇| 成人av免费在线| 亚洲愉拍自拍另类高清精品| 欧美一区二区性放荡片| 国产综合色产在线精品| **欧美大码日韩| 欧美区在线观看| 国产精品一区2区| 亚洲一区二区三区四区在线观看 | 欧美日韩五月天| 激情欧美日韩一区二区| 中文字幕亚洲一区二区va在线| 欧美日韩综合在线免费观看| 精品写真视频在线观看| 亚洲天堂中文字幕| 欧美一区二区三区喷汁尤物| 不卡的av在线播放| 蜜臀av性久久久久av蜜臀妖精| 国产精品美女久久久久aⅴ | 亚洲国产精品一区二区www在线| 日韩视频免费直播| 97se亚洲国产综合自在线| 日本在线不卡一区| 一区在线中文字幕| 日韩精品一区二区三区四区| 色综合天天综合狠狠| 美女看a上一区| 亚洲激情在线激情| 中文字幕av免费专区久久| 欧美日韩国产精选| jlzzjlzz亚洲日本少妇| 久久精品国产99国产| 一区二区三区四区亚洲| 国产网红主播福利一区二区| 欧美精品xxxxbbbb| 色综合久久综合网| 国产91富婆露脸刺激对白| 日韩激情一区二区| 依依成人综合视频| 中文字幕欧美国产| 精品国产伦一区二区三区观看体验| 91精品福利在线| 成人av电影在线观看| 国产美女视频91| 老司机精品视频导航| 偷拍一区二区三区四区| 亚洲精品自拍动漫在线| 国产精品三级电影| 久久女同精品一区二区| 精品va天堂亚洲国产| 91麻豆精品国产| 欧美丰满美乳xxx高潮www| 色8久久精品久久久久久蜜| 99视频在线精品| av不卡一区二区三区| 成人美女视频在线观看| 懂色av一区二区夜夜嗨| 国产福利精品一区二区| 国产大片一区二区| 丰满少妇在线播放bd日韩电影| 麻豆国产91在线播放| 男人的j进女人的j一区| 热久久一区二区| 免费在线观看精品| 精品一区二区三区欧美| 精品一区免费av| 国产美女视频一区| 粉嫩13p一区二区三区| 成人深夜福利app| 99久久精品免费| 99久久精品免费| 在线欧美一区二区| 欧美日韩免费不卡视频一区二区三区 | 国产精品每日更新在线播放网址| 国产精品婷婷午夜在线观看| 国产精品久久久久影视| 亚洲精品日产精品乱码不卡| 亚洲一级电影视频| 日韩一区欧美二区| 国产美女一区二区三区| 成人午夜激情片| 色综合一区二区| 91精品欧美福利在线观看| 日韩美女天天操| 中文字幕 久热精品 视频在线| 国产精品伦一区二区三级视频| 亚洲人妖av一区二区| 麻豆精品久久精品色综合| 国产精品1区2区| 91极品视觉盛宴| 日韩女优毛片在线| 中文字幕在线观看一区| 午夜精品视频一区| 国产精品亚洲视频| 欧洲人成人精品| 欧美精品一区二区三| 亚洲少妇最新在线视频| 人人精品人人爱| av在线一区二区| 欧美日韩国产高清一区| 国产片一区二区| 午夜婷婷国产麻豆精品| 成人午夜在线播放| 欧美日韩精品欧美日韩精品一综合| 欧美精品一区二区三区蜜桃视频| 国产精品高潮呻吟| 免费成人结看片| 色香蕉久久蜜桃| 亚洲精品一线二线三线| 樱花影视一区二区| 国产麻豆精品theporn| 欧美日韩一区久久| 中文字幕av免费专区久久| 日韩精品欧美精品| 91在线视频播放地址| 日韩欧美国产综合| 亚洲一区av在线| 成人av免费观看| 久久只精品国产| 午夜激情一区二区三区| jvid福利写真一区二区三区| 欧美精品一区二区久久久| 亚洲午夜久久久久中文字幕久| 欧美色视频在线| 国产肉丝袜一区二区| 日本在线不卡视频| 欧美日韩在线一区二区| 国产精品国产三级国产aⅴ中文| 麻豆高清免费国产一区| 欧美色爱综合网| 亚洲精品美国一| 99精品久久只有精品| 久久精品一区二区三区不卡| 日本美女一区二区| 欧美麻豆精品久久久久久| 中文字幕一区二区三区精华液| 国产一区免费电影| 日韩欧美激情一区| 奇米影视一区二区三区小说| 欧美日本不卡视频| 一区二区三区在线观看欧美 | 91精彩视频在线观看| 国产精品福利一区二区三区| 国产精品自拍一区| 精品久久99ma| 日韩中文字幕亚洲一区二区va在线| 日本精品一区二区三区四区的功能| 欧美经典三级视频一区二区三区| 紧缚奴在线一区二区三区| 在线播放91灌醉迷j高跟美女| 一区二区三区精品在线| 色88888久久久久久影院野外| 亚洲美女电影在线| 一本到不卡免费一区二区| 国产精品久久久久久久久久久免费看| 国产伦精品一区二区三区视频青涩| 91精品国产色综合久久ai换脸| 日韩中文欧美在线| 日韩欧美色综合网站| 精品在线观看免费| 国产午夜精品福利| 顶级嫩模精品视频在线看| 国产片一区二区| av高清不卡在线| 一区二区三区视频在线看| 在线视频一区二区三| 亚洲成精国产精品女| 在线观看91av| 韩国av一区二区三区| 国产精品久久久久久久久快鸭 | 欧美揉bbbbb揉bbbbb| 丝袜诱惑亚洲看片| 久久综合色天天久久综合图片| 成人性生交大片免费| 亚洲人吸女人奶水| 91精品综合久久久久久| 狠狠色丁香婷综合久久| 国产精品美女久久久久久久久久久| 色综合天天综合在线视频| 日韩黄色片在线观看| 国产午夜精品一区二区三区嫩草 | 国产91富婆露脸刺激对白 | 日韩影院在线观看| 久久综合九色综合欧美就去吻| av电影在线观看不卡| 五月综合激情网| 国产欧美精品一区aⅴ影院| 在线观看欧美精品| 紧缚捆绑精品一区二区|