mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-06-18 10:53:39 +08:00
Update JavaScript lib
This commit is contained in:
30
js/sm3.js
30
js/sm3.js
@@ -318,6 +318,36 @@ function sm3(m) {
|
||||
return digest;
|
||||
}
|
||||
|
||||
function sm3_compute_z(z, id, pk) {
|
||||
const Z_CONST = [
|
||||
0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC,
|
||||
0x28, 0xE9, 0xFA, 0x9E, 0x9D, 0x9F, 0x5E, 0x34,
|
||||
0x4D, 0x5A, 0x9E, 0x4B, 0xCF, 0x65, 0x09, 0xA7,
|
||||
0xF3, 0x97, 0x89, 0xF5, 0x15, 0xAB, 0x8F, 0x92,
|
||||
0xDD, 0xBC, 0xBD, 0x41, 0x4D, 0x94, 0x0E, 0x93,
|
||||
0x32, 0xC4, 0xAE, 0x2C, 0x1F, 0x19, 0x81, 0x19,
|
||||
0x5F, 0x99, 0x04, 0x46, 0x6A, 0x39, 0xC9, 0x94,
|
||||
0x8F, 0xE3, 0x0B, 0xBF, 0xF2, 0x66, 0x0B, 0xE1,
|
||||
0x71, 0x5A, 0x45, 0x89, 0x33, 0x4C, 0x74, 0xC7,
|
||||
0xBC, 0x37, 0x36, 0xA2, 0xF4, 0xF6, 0x77, 0x9C,
|
||||
0x59, 0xBD, 0xCE, 0xE3, 0x6B, 0x69, 0x21, 0x53,
|
||||
0xD0, 0xA9, 0x87, 0x7C, 0xC6, 0x2A, 0x47, 0x40,
|
||||
0x02, 0xDF, 0x32, 0xE5, 0x21, 0x39, 0xF0, 0xA0,
|
||||
];
|
||||
|
||||
var ctx = sm3_ctx_new();
|
||||
sm3_init(ctx);
|
||||
sm3_update(ctx, [Math.floor(id.length / 65536), id.length % 65536]);
|
||||
sm3_update(ctx, id);
|
||||
sm3_update(ctx, Z_CONST);
|
||||
sm3_update(ctx, pk);
|
||||
sm3_final(ctx, z);
|
||||
sm3_ctx_free(ctx);
|
||||
}
|
||||
|
||||
function sm3_test() {
|
||||
const test1 = [0x61, 0x62, 0x63];
|
||||
const test2 = [
|
||||
|
||||
Reference in New Issue
Block a user