Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
8fb04b98
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
8 个月 前同步成功
通知
8
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
8fb04b98
编写于
4月 20, 1999
作者:
U
Ulf Möller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Problems with 64-bit long.
Pointed out by Andy Polyakov <appro@fy.chalmers.se>.
上级
8310d7df
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
58 addition
and
51 deletion
+58
-51
CHANGES
CHANGES
+3
-0
crypto/sha/sha.h
crypto/sha/sha.h
+9
-3
crypto/sha/sha1dgst.c
crypto/sha/sha1dgst.c
+23
-23
crypto/sha/sha_dgst.c
crypto/sha/sha_dgst.c
+23
-23
crypto/sha/sha_locl.h
crypto/sha/sha_locl.h
+0
-2
未找到文件。
CHANGES
浏览文件 @
8fb04b98
...
...
@@ -5,6 +5,9 @@
Changes between 0.9.2b and 0.9.3
*) Fix problems with sizeof(long) == 8.
[Andy Polyakov <appro@fy.chalmers.se>]
*) Change functions to ANSI C.
[Ulf Möller]
...
...
crypto/sha/sha.h
浏览文件 @
8fb04b98
...
...
@@ -70,11 +70,17 @@ extern "C" {
#define SHA_LENGTH_BLOCK 8
#define SHA_DIGEST_LENGTH 20
#ifdef WIN16
#define SHA_LONG unsigned long
#else
#define SHA_LONG unsigned int
#endif
typedef
struct
SHAstate_st
{
unsigned
long
h0
,
h1
,
h2
,
h3
,
h4
;
unsigned
long
Nl
,
Nh
;
unsigned
long
data
[
SHA_LBLOCK
];
SHA_LONG
h0
,
h1
,
h2
,
h3
,
h4
;
SHA_LONG
Nl
,
Nh
;
SHA_LONG
data
[
SHA_LBLOCK
];
int
num
;
}
SHA_CTX
;
...
...
crypto/sha/sha1dgst.c
浏览文件 @
8fb04b98
...
...
@@ -69,23 +69,23 @@ char *SHA1_version="SHA1" OPENSSL_VERSION_PTEXT;
/* Implemented from SHA-1 document - The Secure Hash Algorithm
*/
#define INIT_DATA_h0
(unsigned long)0x67452301
L
#define INIT_DATA_h1
(unsigned long)0xefcdab89
L
#define INIT_DATA_h2
(unsigned long)0x98badcfe
L
#define INIT_DATA_h3
(unsigned long)0x10325476
L
#define INIT_DATA_h4
(unsigned long)0xc3d2e1f0
L
#define INIT_DATA_h0
0x67452301U
L
#define INIT_DATA_h1
0xefcdab89U
L
#define INIT_DATA_h2
0x98badcfeU
L
#define INIT_DATA_h3
0x10325476U
L
#define INIT_DATA_h4
0xc3d2e1f0U
L
#define K_00_19 0x5a827999L
#define K_20_39 0x6ed9eba1L
#define K_40_59 0x8f1bbcdcL
#define K_60_79 0xca62c1d6L
#define K_00_19 0x5a827999
U
L
#define K_20_39 0x6ed9eba1
U
L
#define K_40_59 0x8f1bbcdc
U
L
#define K_60_79 0xca62c1d6
U
L
#ifndef NOPROTO
# ifdef SHA1_ASM
void
sha1_block_x86
(
SHA_CTX
*
c
,
register
unsigned
long
*
p
,
int
num
);
# define sha1_block sha1_block_x86
# else
void
sha1_block
(
SHA_CTX
*
c
,
register
unsigned
long
*
p
,
int
num
);
void
sha1_block
(
SHA_CTX
*
c
,
register
SHA_LONG
*
p
,
int
num
);
# endif
#else
# ifdef SHA1_ASM
...
...
@@ -126,9 +126,9 @@ void SHA1_Init(SHA_CTX *c)
void
SHA1_Update
(
SHA_CTX
*
c
,
register
unsigned
char
*
data
,
unsigned
long
len
)
{
register
U
LONG
*
p
;
register
SHA_
LONG
*
p
;
int
ew
,
ec
,
sw
,
sc
;
U
LONG
l
;
SHA_
LONG
l
;
if
(
len
==
0
)
return
;
...
...
@@ -195,13 +195,13 @@ void SHA1_Update(SHA_CTX *c, register unsigned char *data,
*/
#if 1
#if defined(B_ENDIAN) || defined(SHA1_ASM)
if
((((
unsigned
long
)
data
)
%
sizeof
(
U
LONG
))
==
0
)
if
((((
unsigned
long
)
data
)
%
sizeof
(
SHA_
LONG
))
==
0
)
{
sw
=
len
/
SHA_CBLOCK
;
if
(
sw
)
{
sw
*=
SHA_CBLOCK
;
sha1_block
(
c
,(
U
LONG
*
)
data
,
sw
);
sha1_block
(
c
,(
SHA_
LONG
*
)
data
,
sw
);
data
+=
sw
;
len
-=
sw
;
}
...
...
@@ -214,7 +214,7 @@ void SHA1_Update(SHA_CTX *c, register unsigned char *data,
while
(
len
>=
SHA_CBLOCK
)
{
#if defined(B_ENDIAN) || defined(L_ENDIAN)
if
(
p
!=
(
unsigned
long
*
)
data
)
if
(
p
!=
(
SHA_LONG
*
)
data
)
memcpy
(
p
,
data
,
SHA_CBLOCK
);
data
+=
SHA_CBLOCK
;
# ifdef L_ENDIAN
...
...
@@ -256,9 +256,9 @@ void SHA1_Update(SHA_CTX *c, register unsigned char *data,
void
SHA1_Transform
(
SHA_CTX
*
c
,
unsigned
char
*
b
)
{
U
LONG
p
[
16
];
SHA_
LONG
p
[
16
];
#ifndef B_ENDIAN
U
LONG
*
q
;
SHA_
LONG
*
q
;
int
i
;
#endif
...
...
@@ -279,7 +279,7 @@ void SHA1_Transform(SHA_CTX *c, unsigned char *b)
q
=
p
;
for
(
i
=
(
SHA_LBLOCK
/
4
);
i
;
i
--
)
{
U
LONG
l
;
SHA_
LONG
l
;
c2nl
(
b
,
l
);
*
(
q
++
)
=
l
;
c2nl
(
b
,
l
);
*
(
q
++
)
=
l
;
c2nl
(
b
,
l
);
*
(
q
++
)
=
l
;
...
...
@@ -291,10 +291,10 @@ void SHA1_Transform(SHA_CTX *c, unsigned char *b)
#ifndef SHA1_ASM
void
sha1_block
(
SHA_CTX
*
c
,
register
unsigned
long
*
W
,
int
num
)
void
sha1_block
(
SHA_CTX
*
c
,
register
SHA_LONG
*
W
,
int
num
)
{
register
U
LONG
A
,
B
,
C
,
D
,
E
,
T
;
U
LONG
X
[
16
];
register
SHA_
LONG
A
,
B
,
C
,
D
,
E
,
T
;
SHA_
LONG
X
[
16
];
A
=
c
->
h0
;
B
=
c
->
h1
;
...
...
@@ -411,8 +411,8 @@ void sha1_block(SHA_CTX *c, register unsigned long *W, int num)
void
SHA1_Final
(
unsigned
char
*
md
,
SHA_CTX
*
c
)
{
register
int
i
,
j
;
register
U
LONG
l
;
register
U
LONG
*
p
;
register
SHA_
LONG
l
;
register
SHA_
LONG
*
p
;
static
unsigned
char
end
[
4
]
=
{
0x80
,
0x00
,
0x00
,
0x00
};
unsigned
char
*
cp
=
end
;
...
...
crypto/sha/sha_dgst.c
浏览文件 @
8fb04b98
...
...
@@ -69,19 +69,19 @@ char *SHA_version="SHA" OPENSSL_VERSION_PTEXT;
/* Implemented from SHA-0 document - The Secure Hash Algorithm
*/
#define INIT_DATA_h0
(unsigned long)0x67452301
L
#define INIT_DATA_h1
(unsigned long)0xefcdab89
L
#define INIT_DATA_h2
(unsigned long)0x98badcfe
L
#define INIT_DATA_h3
(unsigned long)0x10325476
L
#define INIT_DATA_h4
(unsigned long)0xc3d2e1f0
L
#define INIT_DATA_h0
0x67452301U
L
#define INIT_DATA_h1
0xefcdab89U
L
#define INIT_DATA_h2
0x98badcfeU
L
#define INIT_DATA_h3
0x10325476U
L
#define INIT_DATA_h4
0xc3d2e1f0U
L
#define K_00_19 0x5a827999L
#define K_20_39 0x6ed9eba1L
#define K_40_59 0x8f1bbcdcL
#define K_60_79 0xca62c1d6L
#define K_00_19 0x5a827999
U
L
#define K_20_39 0x6ed9eba1
U
L
#define K_40_59 0x8f1bbcdc
U
L
#define K_60_79 0xca62c1d6
U
L
#ifndef NOPROTO
void
sha_block
(
SHA_CTX
*
c
,
register
unsigned
long
*
p
,
int
num
);
void
sha_block
(
SHA_CTX
*
c
,
register
SHA_LONG
*
p
,
int
num
);
#else
void
sha_block
();
#endif
...
...
@@ -106,9 +106,9 @@ void SHA_Init(SHA_CTX *c)
void
SHA_Update
(
SHA_CTX
*
c
,
register
unsigned
char
*
data
,
unsigned
long
len
)
{
register
U
LONG
*
p
;
register
SHA_
LONG
*
p
;
int
ew
,
ec
,
sw
,
sc
;
U
LONG
l
;
SHA_
LONG
l
;
if
(
len
==
0
)
return
;
...
...
@@ -175,13 +175,13 @@ void SHA_Update(SHA_CTX *c, register unsigned char *data, unsigned long len)
*/
#if 1
#if defined(B_ENDIAN) || defined(SHA_ASM)
if
((((
unsigned
long
)
data
)
%
sizeof
(
U
LONG
))
==
0
)
if
((((
unsigned
long
)
data
)
%
sizeof
(
SHA_
LONG
))
==
0
)
{
sw
=
len
/
SHA_CBLOCK
;
if
(
sw
)
{
sw
*=
SHA_CBLOCK
;
sha_block
(
c
,(
U
LONG
*
)
data
,
sw
);
sha_block
(
c
,(
SHA_
LONG
*
)
data
,
sw
);
data
+=
sw
;
len
-=
sw
;
}
...
...
@@ -194,7 +194,7 @@ void SHA_Update(SHA_CTX *c, register unsigned char *data, unsigned long len)
while
(
len
>=
SHA_CBLOCK
)
{
#if defined(B_ENDIAN) || defined(L_ENDIAN)
if
(
p
!=
(
unsigned
long
*
)
data
)
if
(
p
!=
(
SHA_LONG
*
)
data
)
memcpy
(
p
,
data
,
SHA_CBLOCK
);
data
+=
SHA_CBLOCK
;
# ifdef L_ENDIAN
...
...
@@ -236,9 +236,9 @@ void SHA_Update(SHA_CTX *c, register unsigned char *data, unsigned long len)
void
SHA_Transform
(
SHA_CTX
*
c
,
unsigned
char
*
b
)
{
U
LONG
p
[
16
];
SHA_
LONG
p
[
16
];
#if !defined(B_ENDIAN)
U
LONG
*
q
;
SHA_
LONG
*
q
;
int
i
;
#endif
...
...
@@ -259,7 +259,7 @@ void SHA_Transform(SHA_CTX *c, unsigned char *b)
q
=
p
;
for
(
i
=
(
SHA_LBLOCK
/
4
);
i
;
i
--
)
{
U
LONG
l
;
SHA_
LONG
l
;
c2nl
(
b
,
l
);
*
(
q
++
)
=
l
;
c2nl
(
b
,
l
);
*
(
q
++
)
=
l
;
c2nl
(
b
,
l
);
*
(
q
++
)
=
l
;
...
...
@@ -269,10 +269,10 @@ void SHA_Transform(SHA_CTX *c, unsigned char *b)
sha_block
(
c
,
p
,
64
);
}
void
sha_block
(
SHA_CTX
*
c
,
register
unsigned
long
*
W
,
int
num
)
void
sha_block
(
SHA_CTX
*
c
,
register
SHA_LONG
*
W
,
int
num
)
{
register
U
LONG
A
,
B
,
C
,
D
,
E
,
T
;
U
LONG
X
[
16
];
register
SHA_
LONG
A
,
B
,
C
,
D
,
E
,
T
;
SHA_
LONG
X
[
16
];
A
=
c
->
h0
;
B
=
c
->
h1
;
...
...
@@ -388,8 +388,8 @@ void sha_block(SHA_CTX *c, register unsigned long *W, int num)
void
SHA_Final
(
unsigned
char
*
md
,
SHA_CTX
*
c
)
{
register
int
i
,
j
;
register
U
LONG
l
;
register
U
LONG
*
p
;
register
SHA_
LONG
l
;
register
SHA_
LONG
*
p
;
static
unsigned
char
end
[
4
]
=
{
0x80
,
0x00
,
0x00
,
0x00
};
unsigned
char
*
cp
=
end
;
...
...
crypto/sha/sha_locl.h
浏览文件 @
8fb04b98
...
...
@@ -66,8 +66,6 @@
#endif
#endif
#define ULONG unsigned long
#undef c2nl
#define c2nl(c,l) (l =(((unsigned long)(*((c)++)))<<24), \
l|=(((unsigned long)(*((c)++)))<<16), \
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录