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

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

?? hmac.c

?? 視頻音頻編碼程序 視頻音頻編碼程序 視頻音頻編碼程序
?? C
字號:
/*
 * FILE:    hmac.c
 * AUTHORS: Colin Perkins
 *
 * HMAC message authentication (RFC2104)
 * 
 * Copyright (c) 1998-2000 University College London
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, is permitted provided that the following conditions 
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *      This product includes software developed by the Computer Science
 *      Department at University College London
 * 4. Neither the name of the University nor of the Department may be used
 *    to endorse or promote products derived from this software without
 *    specific prior written permission.
 * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

#include "config_unix.h"
#include "config_win32.h"
#include "md5.h"
#include "hmac.h"

/**
 * hmac_md5:
 * @data: pointer to data stream.
 * @data_len: length of data stream in bytes.
 * @key: pointer to authentication key.
 * @key_len: length of authentication key in bytes.
 * @digest: digest to be filled in.
 * 
 * Computes MD5 @digest of @data using key @key. 
 * 
 **/
void hmac_md5(unsigned char   *data,	   
	      int              data_len,   
	      unsigned char   *key, 	   
	      int              key_len,	   
	      unsigned char    digest[16]) 
{
        MD5_CTX       context;
        unsigned char k_ipad[65];    /* inner padding - key XORd with ipad */
        unsigned char k_opad[65];    /* outer padding - key XORd with opad */
        unsigned char tk[16];
        int           i;

        /* If key is longer than 64 bytes reset it to key=MD5(key) */
        if (key_len > 64) {
                MD5_CTX      tctx;

                MD5Init(&tctx);
                MD5Update(&tctx, key, key_len);
                MD5Final(tk, &tctx);

                key     = tk;
                key_len = 16;
        }

        /*
         * The HMAC_MD5 transform looks like:
         *
         * MD5(K XOR opad, MD5(K XOR ipad, data))
         *
         * where K is an n byte key
         * ipad is the byte 0x36 repeated 64 times
         * opad is the byte 0x5c repeated 64 times
         * and text is the data being protected
         */

        /* Start out by storing key in pads */
        memset(k_ipad, 0, sizeof(k_ipad));
        memset(k_opad, 0, sizeof(k_opad));
        memcpy(k_ipad, key, key_len);
        memcpy(k_opad, key, key_len);

        /* XOR key with ipad and opad values */
        for (i=0; i<64; i++) {
                k_ipad[i] ^= 0x36;
                k_opad[i] ^= 0x5c;
        }
        /*
         * perform inner MD5
         */
        MD5Init(&context);                   /* init context for 1st pass */
        MD5Update(&context, k_ipad, 64);     /* start with inner pad      */
        MD5Update(&context, data, data_len); /* then text of datagram     */
        MD5Final(digest, &context);          /* finish up 1st pass        */
        /*
         * perform outer MD5
         */
        MD5Init(&context);                   /* init context for 2nd pass */
        MD5Update(&context, k_opad, 64);     /* start with outer pad      */
        MD5Update(&context, digest, 16);     /* then results of 1st hash  */
        MD5Final(digest, &context);          /* finish up 2nd pass        */
}

/*
 * Test Vectors (Trailing '\0' of a character string not included in test):
 * 
 * key =         0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
 * key_len =     16 bytes
 * data =        "Hi There"
 * data_len =    8  bytes
 * digest =      0x9294727a3638bb1c13f48ef8158bfc9d
 *
 * key =         "Jefe"
 * data =        "what do ya want for nothing?"
 * data_len =    28 bytes
 * digest =      0x750c783e6ab0b503eaa86e310a5db738
 *
 * key =         0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 * key_len       16 bytes
 * data =        0xDDDDDDDDDDDDDDDDDDDD...
 *               ..DDDDDDDDDDDDDDDDDDDD...
 *               ..DDDDDDDDDDDDDDDDDDDD...
 *               ..DDDDDDDDDDDDDDDDDDDD...
 *               ..DDDDDDDDDDDDDDDDDDDD
 * data_len =    50 bytes
 * digest =      0x56be34521d144c88dbb8c733f0e8b3f6
 */

#ifdef TEST_HMAC
int main()
{
	unsigned char	*key  = "Jefe";
	unsigned char	*data = "what do ya want for nothing?";
	unsigned char	 digest[16];
	int		 i;

	hmac_md5(data, 28, key, 4, digest);
	for (i = 0; i < 16; i++) {
		printf("%02x", digest[i]);
	}
	printf("\n");

	return 0;
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆国产自产在线观看| 日韩精品午夜视频| 欧美一区二区三区视频免费播放| 国产福利精品导航| 首页国产丝袜综合| 日韩欧美一区电影| 精品视频在线视频| 六月丁香婷婷色狠狠久久| 亚洲综合在线五月| 亚洲欧美日韩久久精品| 国产精品国产三级国产普通话99 | 在线影视一区二区三区| 国产精品一区二区久久不卡| 免费看欧美美女黄的网站| 亚洲综合在线视频| 亚洲品质自拍视频| 国产亚洲人成网站| 亚洲精品一区二区三区精华液| 91麻豆精品国产无毒不卡在线观看| 91久久精品网| 欧美日韩中文另类| 欧美私人免费视频| 欧美一区午夜视频在线观看| 久久久久久久综合狠狠综合| 国产精品无人区| 一区二区三区丝袜| 久久se这里有精品| 91啪在线观看| 精品少妇一区二区三区在线播放| 国产欧美日本一区视频| 亚洲一卡二卡三卡四卡| 狠狠色丁香久久婷婷综合丁香| 91丨九色丨尤物| 精品嫩草影院久久| 夜夜揉揉日日人人青青一国产精品| 日本不卡一二三| 91丨porny丨国产入口| 91精品国模一区二区三区| 国产精品天美传媒沈樵| 首页国产丝袜综合| www.欧美日韩国产在线| 日韩欧美激情在线| 亚洲国产欧美一区二区三区丁香婷| 国产一区二区三区av电影 | 日日欢夜夜爽一区| 丰满放荡岳乱妇91ww| 91精品视频网| 一区二区三区精密机械公司| 久久福利资源站| 在线精品视频免费播放| 国产欧美日韩在线| 美女精品一区二区| 欧美午夜不卡在线观看免费| 国产精品视频麻豆| 国产精品羞羞答答xxdd| 日韩女优电影在线观看| 亚洲图片有声小说| 91视频在线观看免费| 国产日韩精品久久久| 久热成人在线视频| 91精品在线麻豆| 肉肉av福利一精品导航| 欧美酷刑日本凌虐凌虐| 亚洲综合清纯丝袜自拍| 色婷婷综合久色| 一区二区三区自拍| 波多野结衣欧美| 国产喂奶挤奶一区二区三区| 国产一区不卡精品| 久久精品视频免费| 国产福利一区在线| 久久久久久久久久久久电影| 九九九精品视频| 久久综合九色综合97婷婷| 久久99热狠狠色一区二区| 91精品国产福利| 奇米777欧美一区二区| 欧美一卡2卡三卡4卡5免费| 日韩成人免费看| 7777精品伊人久久久大香线蕉的 | 欧美极品xxx| www.亚洲激情.com| 1024成人网| 欧美色国产精品| 日本免费新一区视频| 日韩一级在线观看| 国产成人综合在线播放| 亚洲婷婷综合色高清在线| 91丝袜国产在线播放| 亚洲国产精品人人做人人爽| 91麻豆精品国产无毒不卡在线观看| 美女视频一区在线观看| 国产亚洲欧美在线| 在线免费精品视频| 青娱乐精品在线视频| 国产蜜臀97一区二区三区| 91同城在线观看| 日日夜夜精品免费视频| 久久精品男人的天堂| 在线观看日韩av先锋影音电影院| 天堂一区二区在线免费观看| 精品国产青草久久久久福利| 国产91在线|亚洲| 亚洲高清一区二区三区| 亚洲精品在线免费观看视频| 成人免费看黄yyy456| 日韩中文字幕不卡| 国产片一区二区| 欧美精品乱人伦久久久久久| 国产精品1区2区3区| 夜夜操天天操亚洲| 久久众筹精品私拍模特| 色综合天天综合| 美女视频免费一区| 亚洲精品国产a久久久久久| 日韩你懂的在线观看| 91美女在线视频| 国产福利一区在线| 日韩精品五月天| 亚洲特黄一级片| 精品国产乱子伦一区| 欧美日韩一区精品| caoporen国产精品视频| 秋霞成人午夜伦在线观看| 亚洲男人的天堂在线aⅴ视频| 久久色中文字幕| 欧美疯狂做受xxxx富婆| 91小视频在线观看| 粉嫩一区二区三区在线看| 久久国产夜色精品鲁鲁99| 亚洲乱码国产乱码精品精小说| 久久久99免费| 欧美不卡一区二区三区四区| 色婷婷综合久久久久中文 | 91成人免费电影| 成人av先锋影音| 国产最新精品免费| 麻豆一区二区99久久久久| 午夜成人免费电影| 一区二区三区在线免费视频| 中文在线一区二区| 欧美经典一区二区| 国产亚洲精品免费| 久久美女高清视频| 久久色视频免费观看| 欧美精品一区二区蜜臀亚洲| 91精品国产入口在线| 精品视频在线看| 欧美理论片在线| 在线不卡中文字幕| 日韩午夜电影在线观看| 91精品欧美福利在线观看| 91精品国产综合久久香蕉麻豆| 欧美疯狂做受xxxx富婆| 欧美顶级少妇做爰| 日韩一区二区高清| 精品国产一区二区三区久久久蜜月 | 91精品啪在线观看国产60岁| 欧美一区二区三区四区五区| 91精品国产综合久久精品app| 日韩视频一区二区| 久久亚洲精华国产精华液| 久久久www免费人成精品| 国产视频在线观看一区二区三区 | 丝袜诱惑制服诱惑色一区在线观看| 尤物av一区二区| 午夜精品成人在线| 久久精品国产77777蜜臀| 国产精品亚洲午夜一区二区三区 | 在线精品视频免费观看| 7777精品伊人久久久大香线蕉超级流畅 | 国产精品久久久久毛片软件| 中文字幕高清不卡| 亚洲影视资源网| 日本欧美一区二区在线观看| 麻豆成人av在线| 99re这里都是精品| 69堂亚洲精品首页| 欧美—级在线免费片| 亚洲电影第三页| 国产成人在线网站| 欧美日韩一区二区在线观看| 日韩精品一区二| 亚洲综合色噜噜狠狠| 日日噜噜夜夜狠狠视频欧美人| 九九**精品视频免费播放| 91老师片黄在线观看| 日韩免费视频一区二区| 亚洲欧洲在线观看av| 免费在线观看视频一区| 高清不卡在线观看av| 在线不卡欧美精品一区二区三区| 久久久av毛片精品| 午夜国产精品影院在线观看| 国产精品一区二区无线| 欧美另类videos死尸| 日韩一区在线看| 久久精品国产99久久6| 欧美三区在线观看| 成人欧美一区二区三区白人|