Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
1cbde6e4
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,发现更多精彩内容 >>
提交
1cbde6e4
编写于
8月 28, 1999
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
md32_common.h update and accompanying MD5 update.
上级
87a25f90
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
19 addition
and
7 deletion
+19
-7
crypto/md32_common.h
crypto/md32_common.h
+10
-5
crypto/md5/md5_locl.h
crypto/md5/md5_locl.h
+9
-2
未找到文件。
crypto/md32_common.h
浏览文件 @
1cbde6e4
...
...
@@ -94,6 +94,8 @@
* in original (data) byte order, implemented externally (it
* actually is optional if data and host are of the same
* "endianess").
* HASH_MAKE_STRING
* macro convering context variables to an ASCII hash string.
*
* Optional macros:
*
...
...
@@ -178,7 +180,9 @@
#undef ROTATE
#ifndef PEDANTIC
# if defined(_MSC_VER)
# define ROTATE(a,n) _lrotl(a,n)
# define ROTATE(a,n) _lrotl(a,n)
# elif defined(__MWERKS__)
# define ROTATE(a,n) __rol(a,n)
# elif defined(__GNUC__) && __GNUC__>=2 && !defined(NO_ASM)
/*
* Some GNU C inline assembler templates. Note that these are
...
...
@@ -581,10 +585,11 @@ void HASH_FINAL (unsigned char *md, HASH_CTX *c)
#endif
HASH_BLOCK_HOST_ORDER
(
c
,
p
,
1
);
l
=
c
->
A
;
HOST_l2c
(
l
,
md
);
l
=
c
->
B
;
HOST_l2c
(
l
,
md
);
l
=
c
->
C
;
HOST_l2c
(
l
,
md
);
l
=
c
->
D
;
HOST_l2c
(
l
,
md
);
#ifndef HASH_MAKE_STRING
#error "HASH_MAKE_STRING must be defined!"
#else
HASH_MAKE_STRING
(
c
,
md
);
#endif
c
->
num
=
0
;
/* clear stuff, HASH_BLOCK may be leaving some stuff on the stack
...
...
crypto/md5/md5_locl.h
浏览文件 @
1cbde6e4
...
...
@@ -66,7 +66,7 @@
#endif
#ifdef MD5_ASM
# if defined(__i386) || defined(_M_IX86)
# if defined(__i386) || defined(_M_IX86)
|| defined(__INTEL__)
# define md5_block_host_order md5_block_asm_host_order
# elif defined(__sparc) && defined(ULTRASPARC)
void
md5_block_asm_data_order_aligned
(
MD5_CTX
*
c
,
const
MD5_LONG
*
p
,
int
num
);
...
...
@@ -77,7 +77,7 @@
void
md5_block_host_order
(
MD5_CTX
*
c
,
const
void
*
p
,
int
num
);
void
md5_block_data_order
(
MD5_CTX
*
c
,
const
void
*
p
,
int
num
);
#if defined(__i386) || defined(_M_IX86)
#if defined(__i386) || defined(_M_IX86)
|| defined(__INTEL__)
/*
* *_block_host_order is expected to handle aligned data while
* *_block_data_order - unaligned. As algorithm and host (x86)
...
...
@@ -112,6 +112,13 @@ void md5_block_data_order (MD5_CTX *c, const void *p,int num);
#define HASH_UPDATE MD5_Update
#define HASH_TRANSFORM MD5_Transform
#define HASH_FINAL MD5_Final
#define HASH_MAKE_STRING(c,s) do { \
unsigned long l; \
l=(c)->A; HOST_l2c(l,(s)); \
l=(c)->B; HOST_l2c(l,(s)); \
l=(c)->C; HOST_l2c(l,(s)); \
l=(c)->D; HOST_l2c(l,(s)); \
} while (0)
#define HASH_BLOCK_HOST_ORDER md5_block_host_order
#if !defined(L_ENDIAN) || defined(md5_block_data_order)
#define HASH_BLOCK_DATA_ORDER md5_block_data_order
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录