• 大小: 1.61MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-13
  • 语言: 其他
  • 标签: libevent  vs  vs2008  

资源简介

前段时间看了下libevent的文档,把代码搞过来看了一下,做了一个vs的工程,花了一两个小时。免得下次又弄这些无谓的工作,上传到共享里。有需要的朋友也可以省点时间。工程是vs2008的,到其他版本也是可以使用的。

资源截图

代码片段和文件信息

/* Portable arc4random.c based on arc4random.c from OpenBSD.
 * Portable version by Chris Davis adapted for Libevent by Nick Mathewson
 * Copyright (c) 2010 Chris Davis Niels Provos and Nick Mathewson
 * Copyright (c) 2010-2012 Niels Provos and Nick Mathewson
 *
 * Note that in Libevent this file isn‘t compiled directly.  Instead
 * it‘s included from evutil_rand.c
 */

/*
 * Copyright (c) 1996 David Mazieres 
 * Copyright (c) 2008 Damien Miller 
 *
 * Permission to use copy modify and distribute this software for any
 * purpose with or without fee is hereby granted provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED “AS IS“ AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL DIRECT INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE DATA OR PROFITS WHETHER IN AN
 * ACTION OF CONTRACT NEGLIGENCE OR OTHER TORTIOUS ACTION ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

/*
 * Arc4 random number generator for OpenBSD.
 *
 * This code is derived from section 17.1 of Applied Cryptography
 * second edition which describes a stream cipher allegedly
 * compatible with RSA Labs “RC4“ cipher (the actual description of
 * which is a trade secret).  The same algorithm is used as a stream
 * cipher called “arcfour“ in Tatu Ylonen‘s ssh package.
 *
 * Here the stream cipher has been modified always to include the time
 * when initializing the state.  That makes it impossible to
 * regenerate the same random sequence twice so this can‘t be used
 * for encryption but will generate good random numbers.
 *
 * RC4 is a registered trademark of RSA Laboratories.
 */

#ifndef ARC4RANDOM_EXPORT
#define ARC4RANDOM_EXPORT
#endif

#ifndef ARC4RANDOM_UINT32
#define ARC4RANDOM_UINT32 uint32_t
#endif

#ifndef ARC4RANDOM_NO_INCLUDES
#ifdef WIN32
#include 
#include 
#else
#include 
#include 
#include 
#include 
#ifdef _EVENT_HAVE_SYS_SYSCTL_H
#include 
#endif
#endif
#include 
#include 
#include 
#endif

/* Add platform entropy 32 bytes (256 bits) at a time. */
#define ADD_ENTROPY 32

/* Re-seed from the platform RNG after generating this many bytes. */
#define BYTES_BEFORE_RESEED 1600000

struct arc4_stream {
unsigned char i;
unsigned char j;
unsigned char s[256];
};

#ifdef WIN32
#define getpid _getpid
#define pid_t int
#endif

static int rs_initialized;
static struct arc4_stream rs;
static pid_t arc4_stir_pid;
static int arc4_count;
static int arc4_seeded_ok;

static inline unsigned char arc4_getbyte(void);

static inline void
arc4_init(void)
{
int     n;

for (n = 0; n < 256; n++)
rs.s[n] = n;
rs.i = 0;
rs.j = 0;
}

st

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      36789  2012-11-19 23:13  libevent\aclocal.m4

     文件      12719  2012-02-12 10:10  libevent\arc4random.c

     文件        308  2012-02-11 06:17  libevent\autogen.sh

     文件      72383  2014-11-16 21:23  libevent\buffer.c

     文件      15801  2012-02-11 06:17  libevent\bufferevent-internal.h

     文件      22547  2012-08-23 23:31  libevent\bufferevent.c

     文件      18234  2012-02-11 06:17  libevent\bufferevent_async.c

     文件      15048  2012-02-11 06:17  libevent\bufferevent_filter.c

     文件      37962  2012-11-17 08:22  libevent\bufferevent_openssl.c

     文件       8815  2012-02-11 06:17  libevent\bufferevent_pair.c

     文件      28521  2012-02-11 06:17  libevent\bufferevent_ratelim.c

     文件      17806  2012-11-02 02:00  libevent\bufferevent_sock.c

     文件       8604  2012-02-11 06:17  libevent\buffer_iocp.c

     文件       4562  2012-02-11 06:17  libevent\changelist-internal.h

     文件      88277  2012-11-18 14:34  libevent\ChangeLog

     文件      16673  2012-02-11 06:17  libevent\compat\sys\queue.h

     文件       7274  2012-11-19 23:13  libevent\compile

     文件      44826  2012-11-19 23:13  libevent\config.guess

     文件      11968  2012-11-19 23:13  libevent\config.h.in

     文件      35454  2012-11-19 23:13  libevent\config.sub

     文件     504592  2012-11-19 23:13  libevent\configure

     文件      21849  2012-11-18 14:34  libevent\configure.in

     文件       3698  2012-02-11 06:17  libevent\defer-internal.h

     文件      20899  2012-11-19 23:13  libevent\depcomp

     文件       7793  2014-11-22 17:42  libevent\devpoll.c

     文件      10206  2012-02-11 06:17  libevent\Doxyfile

     文件      13079  2012-02-11 06:17  libevent\epoll.c

     文件       2020  2012-02-11 06:17  libevent\epoll_sub.c

     文件      10546  2012-02-11 06:17  libevent\evbuffer-internal.h

     文件     127701  2012-11-02 02:00  libevent\evdns.c

............此处省略179个文件信息

评论

共有 条评论