Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
libai
/
guodong
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
9b0f1213
authored
Nov 08, 2023
by
libai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
测试
parent
905318d0
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
31 additions
and
4 deletions
lib/spark-md5.min.js
phone1.html
lib/spark-md5.min.js
0 → 100644
View file @
9b0f1213
(
function
(
factory
){
if
(
typeof
exports
===
"object"
){
module
.
exports
=
factory
()}
else
if
(
typeof
define
===
"function"
&&
define
.
amd
){
define
(
factory
)}
else
{
var
glob
;
try
{
glob
=
window
}
catch
(
e
){
glob
=
self
}
glob
.
SparkMD5
=
factory
()}})(
function
(
undefined
){
"use strict"
;
var
add32
=
function
(
a
,
b
){
return
a
+
b
&
4294967295
},
hex_chr
=
[
"0"
,
"1"
,
"2"
,
"3"
,
"4"
,
"5"
,
"6"
,
"7"
,
"8"
,
"9"
,
"a"
,
"b"
,
"c"
,
"d"
,
"e"
,
"f"
];
function
cmn
(
q
,
a
,
b
,
x
,
s
,
t
){
a
=
add32
(
add32
(
a
,
q
),
add32
(
x
,
t
));
return
add32
(
a
<<
s
|
a
>>>
32
-
s
,
b
)}
function
md5cycle
(
x
,
k
){
var
a
=
x
[
0
],
b
=
x
[
1
],
c
=
x
[
2
],
d
=
x
[
3
];
a
+=
(
b
&
c
|~
b
&
d
)
+
k
[
0
]
-
680876936
|
0
;
a
=
(
a
<<
7
|
a
>>>
25
)
+
b
|
0
;
d
+=
(
a
&
b
|~
a
&
c
)
+
k
[
1
]
-
389564586
|
0
;
d
=
(
d
<<
12
|
d
>>>
20
)
+
a
|
0
;
c
+=
(
d
&
a
|~
d
&
b
)
+
k
[
2
]
+
606105819
|
0
;
c
=
(
c
<<
17
|
c
>>>
15
)
+
d
|
0
;
b
+=
(
c
&
d
|~
c
&
a
)
+
k
[
3
]
-
1044525330
|
0
;
b
=
(
b
<<
22
|
b
>>>
10
)
+
c
|
0
;
a
+=
(
b
&
c
|~
b
&
d
)
+
k
[
4
]
-
176418897
|
0
;
a
=
(
a
<<
7
|
a
>>>
25
)
+
b
|
0
;
d
+=
(
a
&
b
|~
a
&
c
)
+
k
[
5
]
+
1200080426
|
0
;
d
=
(
d
<<
12
|
d
>>>
20
)
+
a
|
0
;
c
+=
(
d
&
a
|~
d
&
b
)
+
k
[
6
]
-
1473231341
|
0
;
c
=
(
c
<<
17
|
c
>>>
15
)
+
d
|
0
;
b
+=
(
c
&
d
|~
c
&
a
)
+
k
[
7
]
-
45705983
|
0
;
b
=
(
b
<<
22
|
b
>>>
10
)
+
c
|
0
;
a
+=
(
b
&
c
|~
b
&
d
)
+
k
[
8
]
+
1770035416
|
0
;
a
=
(
a
<<
7
|
a
>>>
25
)
+
b
|
0
;
d
+=
(
a
&
b
|~
a
&
c
)
+
k
[
9
]
-
1958414417
|
0
;
d
=
(
d
<<
12
|
d
>>>
20
)
+
a
|
0
;
c
+=
(
d
&
a
|~
d
&
b
)
+
k
[
10
]
-
42063
|
0
;
c
=
(
c
<<
17
|
c
>>>
15
)
+
d
|
0
;
b
+=
(
c
&
d
|~
c
&
a
)
+
k
[
11
]
-
1990404162
|
0
;
b
=
(
b
<<
22
|
b
>>>
10
)
+
c
|
0
;
a
+=
(
b
&
c
|~
b
&
d
)
+
k
[
12
]
+
1804603682
|
0
;
a
=
(
a
<<
7
|
a
>>>
25
)
+
b
|
0
;
d
+=
(
a
&
b
|~
a
&
c
)
+
k
[
13
]
-
40341101
|
0
;
d
=
(
d
<<
12
|
d
>>>
20
)
+
a
|
0
;
c
+=
(
d
&
a
|~
d
&
b
)
+
k
[
14
]
-
1502002290
|
0
;
c
=
(
c
<<
17
|
c
>>>
15
)
+
d
|
0
;
b
+=
(
c
&
d
|~
c
&
a
)
+
k
[
15
]
+
1236535329
|
0
;
b
=
(
b
<<
22
|
b
>>>
10
)
+
c
|
0
;
a
+=
(
b
&
d
|
c
&~
d
)
+
k
[
1
]
-
165796510
|
0
;
a
=
(
a
<<
5
|
a
>>>
27
)
+
b
|
0
;
d
+=
(
a
&
c
|
b
&~
c
)
+
k
[
6
]
-
1069501632
|
0
;
d
=
(
d
<<
9
|
d
>>>
23
)
+
a
|
0
;
c
+=
(
d
&
b
|
a
&~
b
)
+
k
[
11
]
+
643717713
|
0
;
c
=
(
c
<<
14
|
c
>>>
18
)
+
d
|
0
;
b
+=
(
c
&
a
|
d
&~
a
)
+
k
[
0
]
-
373897302
|
0
;
b
=
(
b
<<
20
|
b
>>>
12
)
+
c
|
0
;
a
+=
(
b
&
d
|
c
&~
d
)
+
k
[
5
]
-
701558691
|
0
;
a
=
(
a
<<
5
|
a
>>>
27
)
+
b
|
0
;
d
+=
(
a
&
c
|
b
&~
c
)
+
k
[
10
]
+
38016083
|
0
;
d
=
(
d
<<
9
|
d
>>>
23
)
+
a
|
0
;
c
+=
(
d
&
b
|
a
&~
b
)
+
k
[
15
]
-
660478335
|
0
;
c
=
(
c
<<
14
|
c
>>>
18
)
+
d
|
0
;
b
+=
(
c
&
a
|
d
&~
a
)
+
k
[
4
]
-
405537848
|
0
;
b
=
(
b
<<
20
|
b
>>>
12
)
+
c
|
0
;
a
+=
(
b
&
d
|
c
&~
d
)
+
k
[
9
]
+
568446438
|
0
;
a
=
(
a
<<
5
|
a
>>>
27
)
+
b
|
0
;
d
+=
(
a
&
c
|
b
&~
c
)
+
k
[
14
]
-
1019803690
|
0
;
d
=
(
d
<<
9
|
d
>>>
23
)
+
a
|
0
;
c
+=
(
d
&
b
|
a
&~
b
)
+
k
[
3
]
-
187363961
|
0
;
c
=
(
c
<<
14
|
c
>>>
18
)
+
d
|
0
;
b
+=
(
c
&
a
|
d
&~
a
)
+
k
[
8
]
+
1163531501
|
0
;
b
=
(
b
<<
20
|
b
>>>
12
)
+
c
|
0
;
a
+=
(
b
&
d
|
c
&~
d
)
+
k
[
13
]
-
1444681467
|
0
;
a
=
(
a
<<
5
|
a
>>>
27
)
+
b
|
0
;
d
+=
(
a
&
c
|
b
&~
c
)
+
k
[
2
]
-
51403784
|
0
;
d
=
(
d
<<
9
|
d
>>>
23
)
+
a
|
0
;
c
+=
(
d
&
b
|
a
&~
b
)
+
k
[
7
]
+
1735328473
|
0
;
c
=
(
c
<<
14
|
c
>>>
18
)
+
d
|
0
;
b
+=
(
c
&
a
|
d
&~
a
)
+
k
[
12
]
-
1926607734
|
0
;
b
=
(
b
<<
20
|
b
>>>
12
)
+
c
|
0
;
a
+=
(
b
^
c
^
d
)
+
k
[
5
]
-
378558
|
0
;
a
=
(
a
<<
4
|
a
>>>
28
)
+
b
|
0
;
d
+=
(
a
^
b
^
c
)
+
k
[
8
]
-
2022574463
|
0
;
d
=
(
d
<<
11
|
d
>>>
21
)
+
a
|
0
;
c
+=
(
d
^
a
^
b
)
+
k
[
11
]
+
1839030562
|
0
;
c
=
(
c
<<
16
|
c
>>>
16
)
+
d
|
0
;
b
+=
(
c
^
d
^
a
)
+
k
[
14
]
-
35309556
|
0
;
b
=
(
b
<<
23
|
b
>>>
9
)
+
c
|
0
;
a
+=
(
b
^
c
^
d
)
+
k
[
1
]
-
1530992060
|
0
;
a
=
(
a
<<
4
|
a
>>>
28
)
+
b
|
0
;
d
+=
(
a
^
b
^
c
)
+
k
[
4
]
+
1272893353
|
0
;
d
=
(
d
<<
11
|
d
>>>
21
)
+
a
|
0
;
c
+=
(
d
^
a
^
b
)
+
k
[
7
]
-
155497632
|
0
;
c
=
(
c
<<
16
|
c
>>>
16
)
+
d
|
0
;
b
+=
(
c
^
d
^
a
)
+
k
[
10
]
-
1094730640
|
0
;
b
=
(
b
<<
23
|
b
>>>
9
)
+
c
|
0
;
a
+=
(
b
^
c
^
d
)
+
k
[
13
]
+
681279174
|
0
;
a
=
(
a
<<
4
|
a
>>>
28
)
+
b
|
0
;
d
+=
(
a
^
b
^
c
)
+
k
[
0
]
-
358537222
|
0
;
d
=
(
d
<<
11
|
d
>>>
21
)
+
a
|
0
;
c
+=
(
d
^
a
^
b
)
+
k
[
3
]
-
722521979
|
0
;
c
=
(
c
<<
16
|
c
>>>
16
)
+
d
|
0
;
b
+=
(
c
^
d
^
a
)
+
k
[
6
]
+
76029189
|
0
;
b
=
(
b
<<
23
|
b
>>>
9
)
+
c
|
0
;
a
+=
(
b
^
c
^
d
)
+
k
[
9
]
-
640364487
|
0
;
a
=
(
a
<<
4
|
a
>>>
28
)
+
b
|
0
;
d
+=
(
a
^
b
^
c
)
+
k
[
12
]
-
421815835
|
0
;
d
=
(
d
<<
11
|
d
>>>
21
)
+
a
|
0
;
c
+=
(
d
^
a
^
b
)
+
k
[
15
]
+
530742520
|
0
;
c
=
(
c
<<
16
|
c
>>>
16
)
+
d
|
0
;
b
+=
(
c
^
d
^
a
)
+
k
[
2
]
-
995338651
|
0
;
b
=
(
b
<<
23
|
b
>>>
9
)
+
c
|
0
;
a
+=
(
c
^
(
b
|~
d
))
+
k
[
0
]
-
198630844
|
0
;
a
=
(
a
<<
6
|
a
>>>
26
)
+
b
|
0
;
d
+=
(
b
^
(
a
|~
c
))
+
k
[
7
]
+
1126891415
|
0
;
d
=
(
d
<<
10
|
d
>>>
22
)
+
a
|
0
;
c
+=
(
a
^
(
d
|~
b
))
+
k
[
14
]
-
1416354905
|
0
;
c
=
(
c
<<
15
|
c
>>>
17
)
+
d
|
0
;
b
+=
(
d
^
(
c
|~
a
))
+
k
[
5
]
-
57434055
|
0
;
b
=
(
b
<<
21
|
b
>>>
11
)
+
c
|
0
;
a
+=
(
c
^
(
b
|~
d
))
+
k
[
12
]
+
1700485571
|
0
;
a
=
(
a
<<
6
|
a
>>>
26
)
+
b
|
0
;
d
+=
(
b
^
(
a
|~
c
))
+
k
[
3
]
-
1894986606
|
0
;
d
=
(
d
<<
10
|
d
>>>
22
)
+
a
|
0
;
c
+=
(
a
^
(
d
|~
b
))
+
k
[
10
]
-
1051523
|
0
;
c
=
(
c
<<
15
|
c
>>>
17
)
+
d
|
0
;
b
+=
(
d
^
(
c
|~
a
))
+
k
[
1
]
-
2054922799
|
0
;
b
=
(
b
<<
21
|
b
>>>
11
)
+
c
|
0
;
a
+=
(
c
^
(
b
|~
d
))
+
k
[
8
]
+
1873313359
|
0
;
a
=
(
a
<<
6
|
a
>>>
26
)
+
b
|
0
;
d
+=
(
b
^
(
a
|~
c
))
+
k
[
15
]
-
30611744
|
0
;
d
=
(
d
<<
10
|
d
>>>
22
)
+
a
|
0
;
c
+=
(
a
^
(
d
|~
b
))
+
k
[
6
]
-
1560198380
|
0
;
c
=
(
c
<<
15
|
c
>>>
17
)
+
d
|
0
;
b
+=
(
d
^
(
c
|~
a
))
+
k
[
13
]
+
1309151649
|
0
;
b
=
(
b
<<
21
|
b
>>>
11
)
+
c
|
0
;
a
+=
(
c
^
(
b
|~
d
))
+
k
[
4
]
-
145523070
|
0
;
a
=
(
a
<<
6
|
a
>>>
26
)
+
b
|
0
;
d
+=
(
b
^
(
a
|~
c
))
+
k
[
11
]
-
1120210379
|
0
;
d
=
(
d
<<
10
|
d
>>>
22
)
+
a
|
0
;
c
+=
(
a
^
(
d
|~
b
))
+
k
[
2
]
+
718787259
|
0
;
c
=
(
c
<<
15
|
c
>>>
17
)
+
d
|
0
;
b
+=
(
d
^
(
c
|~
a
))
+
k
[
9
]
-
343485551
|
0
;
b
=
(
b
<<
21
|
b
>>>
11
)
+
c
|
0
;
x
[
0
]
=
a
+
x
[
0
]
|
0
;
x
[
1
]
=
b
+
x
[
1
]
|
0
;
x
[
2
]
=
c
+
x
[
2
]
|
0
;
x
[
3
]
=
d
+
x
[
3
]
|
0
}
function
md5blk
(
s
){
var
md5blks
=
[],
i
;
for
(
i
=
0
;
i
<
64
;
i
+=
4
){
md5blks
[
i
>>
2
]
=
s
.
charCodeAt
(
i
)
+
(
s
.
charCodeAt
(
i
+
1
)
<<
8
)
+
(
s
.
charCodeAt
(
i
+
2
)
<<
16
)
+
(
s
.
charCodeAt
(
i
+
3
)
<<
24
)}
return
md5blks
}
function
md5blk_array
(
a
){
var
md5blks
=
[],
i
;
for
(
i
=
0
;
i
<
64
;
i
+=
4
){
md5blks
[
i
>>
2
]
=
a
[
i
]
+
(
a
[
i
+
1
]
<<
8
)
+
(
a
[
i
+
2
]
<<
16
)
+
(
a
[
i
+
3
]
<<
24
)}
return
md5blks
}
function
md51
(
s
){
var
n
=
s
.
length
,
state
=
[
1732584193
,
-
271733879
,
-
1732584194
,
271733878
],
i
,
length
,
tail
,
tmp
,
lo
,
hi
;
for
(
i
=
64
;
i
<=
n
;
i
+=
64
){
md5cycle
(
state
,
md5blk
(
s
.
substring
(
i
-
64
,
i
)))}
s
=
s
.
substring
(
i
-
64
);
length
=
s
.
length
;
tail
=
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
];
for
(
i
=
0
;
i
<
length
;
i
+=
1
){
tail
[
i
>>
2
]
|=
s
.
charCodeAt
(
i
)
<<
(
i
%
4
<<
3
)}
tail
[
i
>>
2
]
|=
128
<<
(
i
%
4
<<
3
);
if
(
i
>
55
){
md5cycle
(
state
,
tail
);
for
(
i
=
0
;
i
<
16
;
i
+=
1
){
tail
[
i
]
=
0
}}
tmp
=
n
*
8
;
tmp
=
tmp
.
toString
(
16
).
match
(
/
(
.*
?)(
.
{0,8})
$/
);
lo
=
parseInt
(
tmp
[
2
],
16
);
hi
=
parseInt
(
tmp
[
1
],
16
)
||
0
;
tail
[
14
]
=
lo
;
tail
[
15
]
=
hi
;
md5cycle
(
state
,
tail
);
return
state
}
function
md51_array
(
a
){
var
n
=
a
.
length
,
state
=
[
1732584193
,
-
271733879
,
-
1732584194
,
271733878
],
i
,
length
,
tail
,
tmp
,
lo
,
hi
;
for
(
i
=
64
;
i
<=
n
;
i
+=
64
){
md5cycle
(
state
,
md5blk_array
(
a
.
subarray
(
i
-
64
,
i
)))}
a
=
i
-
64
<
n
?
a
.
subarray
(
i
-
64
):
new
Uint8Array
(
0
);
length
=
a
.
length
;
tail
=
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
];
for
(
i
=
0
;
i
<
length
;
i
+=
1
){
tail
[
i
>>
2
]
|=
a
[
i
]
<<
(
i
%
4
<<
3
)}
tail
[
i
>>
2
]
|=
128
<<
(
i
%
4
<<
3
);
if
(
i
>
55
){
md5cycle
(
state
,
tail
);
for
(
i
=
0
;
i
<
16
;
i
+=
1
){
tail
[
i
]
=
0
}}
tmp
=
n
*
8
;
tmp
=
tmp
.
toString
(
16
).
match
(
/
(
.*
?)(
.
{0,8})
$/
);
lo
=
parseInt
(
tmp
[
2
],
16
);
hi
=
parseInt
(
tmp
[
1
],
16
)
||
0
;
tail
[
14
]
=
lo
;
tail
[
15
]
=
hi
;
md5cycle
(
state
,
tail
);
return
state
}
function
rhex
(
n
){
var
s
=
""
,
j
;
for
(
j
=
0
;
j
<
4
;
j
+=
1
){
s
+=
hex_chr
[
n
>>
j
*
8
+
4
&
15
]
+
hex_chr
[
n
>>
j
*
8
&
15
]}
return
s
}
function
hex
(
x
){
var
i
;
for
(
i
=
0
;
i
<
x
.
length
;
i
+=
1
){
x
[
i
]
=
rhex
(
x
[
i
])}
return
x
.
join
(
""
)}
if
(
hex
(
md51
(
"hello"
))
!==
"5d41402abc4b2a76b9719d911017c592"
){
add32
=
function
(
x
,
y
){
var
lsw
=
(
x
&
65535
)
+
(
y
&
65535
),
msw
=
(
x
>>
16
)
+
(
y
>>
16
)
+
(
lsw
>>
16
);
return
msw
<<
16
|
lsw
&
65535
}}
if
(
typeof
ArrayBuffer
!==
"undefined"
&&!
ArrayBuffer
.
prototype
.
slice
){(
function
(){
function
clamp
(
val
,
length
){
val
=
val
|
0
||
0
;
if
(
val
<
0
){
return
Math
.
max
(
val
+
length
,
0
)}
return
Math
.
min
(
val
,
length
)}
ArrayBuffer
.
prototype
.
slice
=
function
(
from
,
to
){
var
length
=
this
.
byteLength
,
begin
=
clamp
(
from
,
length
),
end
=
length
,
num
,
target
,
targetArray
,
sourceArray
;
if
(
to
!==
undefined
){
end
=
clamp
(
to
,
length
)}
if
(
begin
>
end
){
return
new
ArrayBuffer
(
0
)}
num
=
end
-
begin
;
target
=
new
ArrayBuffer
(
num
);
targetArray
=
new
Uint8Array
(
target
);
sourceArray
=
new
Uint8Array
(
this
,
begin
,
num
);
targetArray
.
set
(
sourceArray
);
return
target
}})()}
function
toUtf8
(
str
){
if
(
/
[\u
0080-
\u
FFFF
]
/
.
test
(
str
)){
str
=
unescape
(
encodeURIComponent
(
str
))}
return
str
}
function
utf8Str2ArrayBuffer
(
str
,
returnUInt8Array
){
var
length
=
str
.
length
,
buff
=
new
ArrayBuffer
(
length
),
arr
=
new
Uint8Array
(
buff
),
i
;
for
(
i
=
0
;
i
<
length
;
i
+=
1
){
arr
[
i
]
=
str
.
charCodeAt
(
i
)}
return
returnUInt8Array
?
arr
:
buff
}
function
arrayBuffer2Utf8Str
(
buff
){
return
String
.
fromCharCode
.
apply
(
null
,
new
Uint8Array
(
buff
))}
function
concatenateArrayBuffers
(
first
,
second
,
returnUInt8Array
){
var
result
=
new
Uint8Array
(
first
.
byteLength
+
second
.
byteLength
);
result
.
set
(
new
Uint8Array
(
first
));
result
.
set
(
new
Uint8Array
(
second
),
first
.
byteLength
);
return
returnUInt8Array
?
result
:
result
.
buffer
}
function
hexToBinaryString
(
hex
){
var
bytes
=
[],
length
=
hex
.
length
,
x
;
for
(
x
=
0
;
x
<
length
-
1
;
x
+=
2
){
bytes
.
push
(
parseInt
(
hex
.
substr
(
x
,
2
),
16
))}
return
String
.
fromCharCode
.
apply
(
String
,
bytes
)}
function
SparkMD5
(){
this
.
reset
()}
SparkMD5
.
prototype
.
append
=
function
(
str
){
this
.
appendBinary
(
toUtf8
(
str
));
return
this
};
SparkMD5
.
prototype
.
appendBinary
=
function
(
contents
){
this
.
_buff
+=
contents
;
this
.
_length
+=
contents
.
length
;
var
length
=
this
.
_buff
.
length
,
i
;
for
(
i
=
64
;
i
<=
length
;
i
+=
64
){
md5cycle
(
this
.
_hash
,
md5blk
(
this
.
_buff
.
substring
(
i
-
64
,
i
)))}
this
.
_buff
=
this
.
_buff
.
substring
(
i
-
64
);
return
this
};
SparkMD5
.
prototype
.
end
=
function
(
raw
){
var
buff
=
this
.
_buff
,
length
=
buff
.
length
,
i
,
tail
=
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
ret
;
for
(
i
=
0
;
i
<
length
;
i
+=
1
){
tail
[
i
>>
2
]
|=
buff
.
charCodeAt
(
i
)
<<
(
i
%
4
<<
3
)}
this
.
_finish
(
tail
,
length
);
ret
=
hex
(
this
.
_hash
);
if
(
raw
){
ret
=
hexToBinaryString
(
ret
)}
this
.
reset
();
return
ret
};
SparkMD5
.
prototype
.
reset
=
function
(){
this
.
_buff
=
""
;
this
.
_length
=
0
;
this
.
_hash
=
[
1732584193
,
-
271733879
,
-
1732584194
,
271733878
];
return
this
};
SparkMD5
.
prototype
.
getState
=
function
(){
return
{
buff
:
this
.
_buff
,
length
:
this
.
_length
,
hash
:
this
.
_hash
.
slice
()}};
SparkMD5
.
prototype
.
setState
=
function
(
state
){
this
.
_buff
=
state
.
buff
;
this
.
_length
=
state
.
length
;
this
.
_hash
=
state
.
hash
;
return
this
};
SparkMD5
.
prototype
.
destroy
=
function
(){
delete
this
.
_hash
;
delete
this
.
_buff
;
delete
this
.
_length
};
SparkMD5
.
prototype
.
_finish
=
function
(
tail
,
length
){
var
i
=
length
,
tmp
,
lo
,
hi
;
tail
[
i
>>
2
]
|=
128
<<
(
i
%
4
<<
3
);
if
(
i
>
55
){
md5cycle
(
this
.
_hash
,
tail
);
for
(
i
=
0
;
i
<
16
;
i
+=
1
){
tail
[
i
]
=
0
}}
tmp
=
this
.
_length
*
8
;
tmp
=
tmp
.
toString
(
16
).
match
(
/
(
.*
?)(
.
{0,8})
$/
);
lo
=
parseInt
(
tmp
[
2
],
16
);
hi
=
parseInt
(
tmp
[
1
],
16
)
||
0
;
tail
[
14
]
=
lo
;
tail
[
15
]
=
hi
;
md5cycle
(
this
.
_hash
,
tail
)};
SparkMD5
.
hash
=
function
(
str
,
raw
){
return
SparkMD5
.
hashBinary
(
toUtf8
(
str
),
raw
)};
SparkMD5
.
hashBinary
=
function
(
content
,
raw
){
var
hash
=
md51
(
content
),
ret
=
hex
(
hash
);
return
raw
?
hexToBinaryString
(
ret
):
ret
};
SparkMD5
.
ArrayBuffer
=
function
(){
this
.
reset
()};
SparkMD5
.
ArrayBuffer
.
prototype
.
append
=
function
(
arr
){
var
buff
=
concatenateArrayBuffers
(
this
.
_buff
.
buffer
,
arr
,
true
),
length
=
buff
.
length
,
i
;
this
.
_length
+=
arr
.
byteLength
;
for
(
i
=
64
;
i
<=
length
;
i
+=
64
){
md5cycle
(
this
.
_hash
,
md5blk_array
(
buff
.
subarray
(
i
-
64
,
i
)))}
this
.
_buff
=
i
-
64
<
length
?
new
Uint8Array
(
buff
.
buffer
.
slice
(
i
-
64
)):
new
Uint8Array
(
0
);
return
this
};
SparkMD5
.
ArrayBuffer
.
prototype
.
end
=
function
(
raw
){
var
buff
=
this
.
_buff
,
length
=
buff
.
length
,
tail
=
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
i
,
ret
;
for
(
i
=
0
;
i
<
length
;
i
+=
1
){
tail
[
i
>>
2
]
|=
buff
[
i
]
<<
(
i
%
4
<<
3
)}
this
.
_finish
(
tail
,
length
);
ret
=
hex
(
this
.
_hash
);
if
(
raw
){
ret
=
hexToBinaryString
(
ret
)}
this
.
reset
();
return
ret
};
SparkMD5
.
ArrayBuffer
.
prototype
.
reset
=
function
(){
this
.
_buff
=
new
Uint8Array
(
0
);
this
.
_length
=
0
;
this
.
_hash
=
[
1732584193
,
-
271733879
,
-
1732584194
,
271733878
];
return
this
};
SparkMD5
.
ArrayBuffer
.
prototype
.
getState
=
function
(){
var
state
=
SparkMD5
.
prototype
.
getState
.
call
(
this
);
state
.
buff
=
arrayBuffer2Utf8Str
(
state
.
buff
);
return
state
};
SparkMD5
.
ArrayBuffer
.
prototype
.
setState
=
function
(
state
){
state
.
buff
=
utf8Str2ArrayBuffer
(
state
.
buff
,
true
);
return
SparkMD5
.
prototype
.
setState
.
call
(
this
,
state
)};
SparkMD5
.
ArrayBuffer
.
prototype
.
destroy
=
SparkMD5
.
prototype
.
destroy
;
SparkMD5
.
ArrayBuffer
.
prototype
.
_finish
=
SparkMD5
.
prototype
.
_finish
;
SparkMD5
.
ArrayBuffer
.
hash
=
function
(
arr
,
raw
){
var
hash
=
md51_array
(
new
Uint8Array
(
arr
)),
ret
=
hex
(
hash
);
return
raw
?
hexToBinaryString
(
ret
):
ret
};
return
SparkMD5
});
phone1.html
View file @
9b0f1213
...
...
@@ -50,28 +50,54 @@
</div>
</body>
<script
src=
"lib/jquery-3.1.1.min.js"
></script>
<script
src=
"lib/spark-md5.min.js"
></script>
<script>
localStorage
.
canvasCode
=
'phone'
checkIp
()
function
checkIp
()
{
$
.
ajax
({
url
:
"https://webserver.yabolive.net/user/checkIpIsChina.html"
,
success
:
function
(
res
)
{
var
result
=
JSON
.
parse
(
res
);
localStorage
.
canvasCode
=
SparkMD5
.
hash
(
window
.
navigator
.
userAgent
.
toLowerCase
()
+
'ip:'
+
result
.
ip
);
}
})
}
function
report
(
myOs
){
$
.
ajax
({
url
:
'http://test.api.lvdou66.com:8200/log/wx/share/report'
,
data
:{
type
:
3
,
pageId
:
localStorage
.
canvasCode
,
os
:
myOs
},
success
:
function
(
data
){
}
})
}
$
(
".btn"
).
on
(
"click"
,
function
(){
var
ua
=
navigator
.
userAgent
.
toLowerCase
();
if
(
ua
.
match
(
/MicroMessenger/i
)
==
'micromessenger'
){
if
(
/iphone|ipad|ipod/
.
test
(
ua
))
{
report
(
'ios'
)
window
.
location
.
href
=
'https://www.pgyer.com/FGSJ'
// window.location.href='https://apps.apple.com/cn/app/id1522691256'
// layer.msg("ios版本维护中,请添加“果冻直播”公众号咨询")
}
else
{
report
(
'Android'
)
window
.
location
.
href
=
'https://a.app.qq.com/o/simple.jsp?pkgname=com.show.guodong.live'
}
}
else
{
if
(
/iphone|ipad|ipod/
.
test
(
ua
))
{
report
(
'ios'
)
window
.
location
.
href
=
'https://www.pgyer.com/FGSJ'
// window.location.href='https://apps.apple.com/cn/app/id1522691256'
// layer.msg("ios版本维护中,请添加“果冻直播”公众号咨询")
}
else
{
report
(
'Android'
)
window
.
location
.
href
=
'https://zhibocdn.lvdou66.com/apk/down/guodong.apk'
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment