|
@@ -86,104 +86,80 @@ class UtilService extends CrudService {
|
|
|
}
|
|
|
async utilMethod(query, body) {
|
|
|
const crypto = require('crypto');
|
|
|
- const { publicKey, privateKey } = crypto.generateKeyPairSync('rsa', {
|
|
|
- modulusLength: 2048,
|
|
|
- publicKeyEncoding: {
|
|
|
- type: 'spki',
|
|
|
- format: 'pem',
|
|
|
- },
|
|
|
- privateKeyEncoding: {
|
|
|
- type: 'pkcs8',
|
|
|
- format: 'pem',
|
|
|
- cipher: 'aes-256-cbc',
|
|
|
- passphrase: 'sks_secret',
|
|
|
- },
|
|
|
- });
|
|
|
- console.log(publicKey);
|
|
|
- console.log('-------------------');
|
|
|
- console.log(privateKey);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ const privateKey = `-----BEGIN ENCRYPTED PRIVATE KEY-----
|
|
|
+MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIDrmClOodJAACAggA
|
|
|
+MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBDFUSMr1yfAK9Lt9r4Idi5EBIIE
|
|
|
+0JmkwwNWz+ya4IffVvzQS2fEbIRoAcxoBEKaZjLd2cCBQbE/0BODdlEWcJ7Z4Z3k
|
|
|
+1NfDaqQToh+k9sE2C108q2jCETLiLPWodTMAMO0pVHBiiJeh2ZOoDxwyDWsyHYcA
|
|
|
+6S7EhuQPOY7Fd8WKWeYcH1m8TLyL40fmWq0cseCoyvP1M0LRQ5OFKD7+uOYJBQhq
|
|
|
+7pPwuJouorKMUHbxpribrOmr8fspfkglhP6+TZ7p7XzAs6e92mNz1SfiflmChoPH
|
|
|
+sqcJb0SJaHCdzblMT/yCF1Gm+h91gpU9L3sJUbivBtjFkX4LsE8DMs15dkPIbWHq
|
|
|
+YTJx+2QSOpGp6cK1D7LS8LInptHxI/UGRVYH3FLP1oUJuuFj+Wl7PKvOpZcc5uk1
|
|
|
+u5tbHmUkhpJeklqsCWi6brQpPxiQAiCeiqMiTOQLlwiRNTT51waOqrvb60onDHAw
|
|
|
+bEWfb0FQ0o3kb1yEQd/qPTJXWPZ96WhM3/7VNGoEDKwCzv5m8G1JbO4ct79iPF5x
|
|
|
+Y7rx0uKJFPbekNACRmb9U0f3DpXm8hdgCKVKmbkgG2ZZnnmJg2lzmT72lwQfdcnv
|
|
|
+O6IjXVLoDLjAYqjGe6HXQchi5rBHgmoguyHP6nGJ67n50hQ+upecVyp7k7LvuXi/
|
|
|
+jHF8/zJfDZaEvjf6CwkePYk9XbOnvyls+RWZM1ZwX4xbk6nbONzo71uRrI0E8sKS
|
|
|
+kWFCtvdbNJ
|
|
|
+JrMru+hbHvutTPhDuOgJ+RVgirwfZpxPQS5aHHXQu8bMps9DEL15i6xKOVX5lqvL
|
|
|
+lEL0YmqmRo7Idb9D+l0pyPAg9X1AwTziION/1cOPvWmjGVZqqaBv+jsMVlB+1o0o
|
|
|
+BrJBy9SEzw5ya7sYi1BCwO6k7qAsB1qSmnu8Gg/RXAIz6D9nJiJbB5kwusVQretn
|
|
|
+RqTj8ldBOgo+1la3hHzW8INTAVrlnmZjNMEGN4olYcJv6vHK9XTk7ruIkteJYD8Y
|
|
|
+2jIFU3evsPTs4ugYxArEmzYsr1ZJR91aWf7naKcUlsap9k2zgHVw7Ks31D8T1OT3
|
|
|
+mXQZdkY9hx+0kdh8iSYOkCSa237usV/TbYg12ncB8xSVsMQMNnEQHWIcgFUBeZoo
|
|
|
+KQ27ijLmy5YYx8KYDAm7UJZ3Z00OrFa1D5qjippXkrDKbBwM3SrDSSVBtfKMGxyi
|
|
|
+epF9hMBs6ecBBSIF9sZg0LHfMlbOIWyNLklHUtdBQ4+vavzbG1V66p0pB7HJp6rp
|
|
|
+YC3moNRhHXyUFpvkIis7gFQ4xdE6FMEJsrHeZQHuOzRIB4XlwiCiAIg+IDmnP0hd
|
|
|
+8Sxv0drpFU+zjR2aMr4bfhYdBG35NE/xfOp+ba25yCWCilljCIj46+jD0E2UvSrw
|
|
|
+9iDtf75OXF2njqaLwmnFtHyAOA54IcXi9Y3NaXUXFxmK9iif5UbKa/dR+8rmOCF2
|
|
|
+cozCs4Ujribcpgs3cqjkVX0Z12B7YdCZM1Tpj7BgPOLjpi0h0s5wbP9QMm3yb2S2
|
|
|
+SKteoIypVcUXdpPqSwXtsUOUSuj7MeNXW2mkmQsH+W/n2Zn5OxgFKZ0JZ4z/OHei
|
|
|
+hK1UFYPQ9BEBMzsJ2ttBLwak
|
|
|
+-----END ENCRYPTED PRIVATE KEY-----`;
|
|
|
+ const publicKey = `-----BEGIN PUBLIC KEY-----
|
|
|
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqIvXeEZJ2kx0xZxgcWeC
|
|
|
+rRQ3+JQjgt7UOUN45PKnw5XNuRCxCbEvnjjLJwJZcrXo0qO54f5rafbPqYoSA5ed
|
|
|
+Wt07dY5dVJ02OUl56uIwhoFArJpUzMywFq94BvTaO5Gz58uVUDKgFRYYx9z4/t10
|
|
|
+6AliNHb3KEbovwMqIpGYLIr5JmImfyaCi7eAqwHsLH/HALqGFLHcr6oFaquA9abP
|
|
|
+J/6wp465qmQuIUhqR9Nf3HIa/hjcF6ZTBlZhV
|
|
|
+AQsB8qxp2yXhZrEbMdD+E27te67SxedRK3IZ13xAeuQ+XB0kVDIPkfRw8eUg3mK2
|
|
|
+XQIDAQAB
|
|
|
+-----END PUBLIC KEY-----`;
|
|
|
|
|
|
- const data = { code: '1', org: '2', type: '中心管理员' };
|
|
|
- const enc = crypto.publicEncrypt(publicKey, Buffer.from(JSON.stringify(data)));
|
|
|
- const str = enc.toString('base64');
|
|
|
- console.log(str);
|
|
|
- const sb = Buffer.from(str, 'base64');
|
|
|
- const decpub = crypto.privateDecrypt(
|
|
|
+ const data = this.ctx.request.body;
|
|
|
+ const enc = crypto.publicEncrypt(
|
|
|
{
|
|
|
- key: privateKey,
|
|
|
- passphrase: 'sks_secret',
|
|
|
+ key: publicKey,
|
|
|
+ padding: crypto.constants.RSA_PKCS1_PADDING,
|
|
|
},
|
|
|
- sb
|
|
|
+ Buffer.from(JSON.stringify(data))
|
|
|
);
|
|
|
- console.log(`decpub:${decpub.toString()}`);
|
|
|
+ const str = enc.toString('base64');
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ return enc.toString('base64');
|
|
|
|
|
|
|
|
|
|