Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
c97b11f4
O
openssl
项目概览
btwise
/
openssl
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c97b11f4
编写于
3月 19, 2000
作者:
U
Ulf Möller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
New function RAND_event() collects entropy from Windows events.
上级
2501b335
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
43 addition
and
0 deletion
+43
-0
crypto/rand/md_rand.c
crypto/rand/md_rand.c
+41
-0
crypto/rand/rand.h
crypto/rand/rand.h
+2
-0
未找到文件。
crypto/rand/md_rand.c
浏览文件 @
c97b11f4
...
...
@@ -568,6 +568,47 @@ static int ssleay_rand_status(void)
#include <windows.h>
#include <openssl/rand.h>
int
RAND_event
(
UINT
iMsg
,
WPARAM
wParam
,
LPARAM
lParam
)
{
double
add_entropy
=
0
;
SYSTEMTIME
t
;
switch
(
iMsg
)
{
case
WM_KEYDOWN
:
{
static
WPARAM
key
;
if
(
key
!=
wParam
)
add_entropy
=
0
.
05
;
key
=
wParam
;
}
break
;
case
WM_MOUSEMOVE
:
{
static
int
lastx
,
lasty
,
lastdx
,
lastdy
;
int
x
,
y
,
dx
,
dy
;
x
=
LOWORD
(
lParam
);
y
=
HIWORD
(
lParam
);
dx
=
lastx
-
x
;
dy
=
lasty
-
y
;
if
(
dx
!=
0
&&
dy
!=
0
&&
dx
-
lastdx
!=
0
&&
dy
-
lastdy
!=
0
)
entropy
+=
.
2
;
lastx
=
x
,
lasty
=
y
;
lastdx
=
dx
,
lastdy
=
dy
;
}
break
;
}
GetSystemTime
(
&
t
);
RAND_add
(
&
iMsg
,
sizeof
(
iMsg
),
add_entropy
);
RAND_add
(
&
wParam
,
sizeof
(
wParam
),
0
);
RAND_add
(
&
lParam
,
sizeof
(
lParam
),
0
);
RAND_add
(
&
t
,
sizeof
(
t
),
0
);
return
(
RAND_status
());
}
/*****************************************************************************
* Initialisation function for the SSL random generator. Takes the contents
* of the screen as random seed.
...
...
crypto/rand/rand.h
浏览文件 @
c97b11f4
...
...
@@ -91,7 +91,9 @@ const char *RAND_file_name(char *file,int num);
int
RAND_status
(
void
);
int
RAND_egd
(
const
char
*
path
);
#if defined(WINDOWS) || defined(WIN32)
#include <windows.h>
void
RAND_screen
(
void
);
int
RAND_event
(
UINT
,
WPARAM
,
LPARAM
);
#endif
void
ERR_load_RAND_strings
(
void
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录