资源简介
前段时间看了下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个文件信息
- 上一篇:Databa
se Desktop - 下一篇:CANopen协议栈源代码详解
相关资源
- vs2010 配色方案+Consolas字体
- VSPD虚拟串口破解汉化版
- L系统 三维分形树。
- ansys18.2+VS2010安装教程+Fluent并行运算设
- libevent-2.1.8-
- 在Vs2005下的三线法相机标定
- 资源管理器项目(包含所有源代码
- 动作识别 Hu距 SVM opencv2.4.9 VS2013
- CISCO虚拟交换系统(VSS)技术
- OpenGL环境配置文件
- vsport.dll 64位虚拟串口动态库
- VS2015在线安装包
- libpng 使用vs调用的原始包
- VS下QT实现仿真小飞机
- libevent源码
- VS2010配置QT和SNMP++
- vs2019番茄插件亲测可用
- VisualSFM_CMVS-PMVS_MeshLab
- Rigol VS5000系列中英文上位机软件
- Visual+Assist+X+10.9+builds+2333.7z
- VS2010免注册调用大漠插件
- vs2015搭载Qt Creator 4.5.1写的一个串口调
- OSG3.4.0库已编译好,VS2013+WIN10
- OpenCV 4.2.0 Visual Studio 2017 32位 版本
- ghostdoc自动生成注释最新版支持vs201
- VS2013~VS2017番茄助手破解版
- VS2015编译好的opencv3.4.1+contrib3.4.1
- Visual Assist X 支持VS2019 亲测成功
- HslCommunication(vs2015).zip
- MSBuild.7z VS 2019 旧版本平台工具集解决
评论
共有 条评论