1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var crypto_1 = require("crypto");
|
4 | exports.generateKey = function () {
|
5 | var result = crypto_1.generateKeyPairSync('rsa', {
|
6 | modulusLength: 2048,
|
7 | publicKeyEncoding: {
|
8 | type: 'spki',
|
9 | format: 'pem',
|
10 | },
|
11 | privateKeyEncoding: {
|
12 | type: 'pkcs8',
|
13 | format: 'pem',
|
14 | },
|
15 | });
|
16 | return {
|
17 | public: result.publicKey,
|
18 | private: result.privateKey,
|
19 | };
|
20 | };
|
21 | exports.md5String = function (target) {
|
22 | var hash = crypto_1.createHash('md5');
|
23 | hash.update(target);
|
24 | return hash.digest('hex');
|
25 | };
|
26 | exports.signString = function (target, privateKey) {
|
27 | var signer = crypto_1.createSign('RSA-SHA256');
|
28 | signer.update(target);
|
29 | var sign = signer.sign(privateKey, 'base64').replace(/=/g, '');
|
30 | return sign.replace(/\+/g, '-').replace(/\//g, '_');
|
31 | };
|
32 | exports.verifyString = function (target, token, publicKey) {
|
33 | var verify = crypto_1.createVerify('RSA-SHA256');
|
34 | verify.update(target);
|
35 | var result = verify.verify(publicKey, token, 'base64');
|
36 | return result;
|
37 | };
|
38 | exports.serializeString = function (before) {
|
39 | var buffer = Buffer.from(before);
|
40 | var base64 = buffer.toString('base64');
|
41 | return base64.replace(/=/g, '');
|
42 | };
|
43 | exports.deserializeString = function (before) {
|
44 | var buffer = Buffer.from(before, 'base64');
|
45 | var content = buffer.toString('utf8');
|
46 | return content;
|
47 | };
|