-
Notifications
You must be signed in to change notification settings - Fork 2
/
jsrsademo.js
63 lines (53 loc) · 3.09 KB
/
jsrsademo.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
const rs = require('jsrsasign');
const split2 = (origin) => {
let array = origin.split("");
let result = [];
for (let i = 0; i < array.length - 1; i += 2) {
result[i] = array[i] + array[i + 1];
}
return result.filter(Boolean);
};
let pubKey = rs.KEYUTIL.getKey("-----BEGIN PUBLIC KEY-----\n" +
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxSWnxllXurPO0YnD2dBW\n" +
"lPTzVhWAPJ1m/yloUyiDm3HUd5xrUm3Lb75B0OYfbUkHig4hsfva6AP1HlIMlwIX\n" +
"FLoRjR80C/fHySELG+uOBv+wbQh/l8UhL4NTM7IUmWCxKsaSWiA/39GH2MVSS8CA\n" +
"lY4eCVcAadfE9bXY/akEgEvwzJUof1+HLFhQR9ECkLaKfsZMUY2CsZ+g4hRMqrf2\n" +
"71Hk18ikMGjk2JP1KD4JibWep8ZEzpbN7AuztY9DE4BsV4S3Q2/ncvmUufHGd2QE\n" +
"QEUug22o04sU1WhLnl+bNDsLNzHU+dK31ddXYNKZpywauQcA1qaHAFVRGy8OlU9n\n" +
"swIDAQAB\n" +
"-----END PUBLIC KEY-----");
// console.log(pubKey);
let encrypted = rs.KJUR.crypto.Cipher.encrypt("Hello, world!", pubKey);
console.log("\n-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n");
console.log(split2(encrypted));
console.log("\n-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n");
let key = rs.KEYUTIL.getKey("-----BEGIN RSA PRIVATE KEY-----\n" +
"MIIEogIBAAKCAQEAxSWnxllXurPO0YnD2dBWlPTzVhWAPJ1m/yloUyiDm3HUd5xr\n" +
"Um3Lb75B0OYfbUkHig4hsfva6AP1HlIMlwIXFLoRjR80C/fHySELG+uOBv+wbQh/\n" +
"l8UhL4NTM7IUmWCxKsaSWiA/39GH2MVSS8CAlY4eCVcAadfE9bXY/akEgEvwzJUo\n" +
"f1+HLFhQR9ECkLaKfsZMUY2CsZ+g4hRMqrf271Hk18ikMGjk2JP1KD4JibWep8ZE\n" +
"zpbN7AuztY9DE4BsV4S3Q2/ncvmUufHGd2QEQEUug22o04sU1WhLnl+bNDsLNzHU\n" +
"+dK31ddXYNKZpywauQcA1qaHAFVRGy8OlU9nswIDAQABAoIBACFVaZW++3dk+Z4y\n" +
"RfwpHsqW1CIFBqa5EnYoQSx2WDJLP9pthzPrvo8JQ0WX805eH7k3BHl8lRnPuX1D\n" +
"8D8EKnTltRwAX6N6ZLxcKu2wmVYTm3gEDNbTjPXkpYfDH3qDf9E0vAAjHcmxOt/r\n" +
"FSwbw2IGIov/uuEqi3HkKmlRT6KFaExlkCWF0Kgk2bEEFqCG5t1vdJzK6m1fTrtc\n" +
"APeb87+pgyygsncB/v5w7//EcklLpoZYJ3SIuzRuJwJ2KoyfosnOC10f4fM6DdjC\n" +
"/NJ7+beSvTvaiGmG1xsYIYpG3xeSdAzDfFXijqHp7732JlDYNRi1+GagIsAtibxp\n" +
"un+eIGkCgYEA9fM4kC4lCA0xynkSZQorHmS+Ao109oIv2Mvkr14jNVce0tdbi8BU\n" +
"lmD3kV3HkGUO0gyCALQAOUxWTU8+j1MiDHYIhC5X9L5Gm0w4TkJjJAx9fsOnkkoj\n" +
"qzQkVrbAiVn6z32veaOsveqOYudmCpAz3jtGpHfZ1uprmCM9vntb598CgYEAzTPt\n" +
"V+e+LWK2wY3U0z9969nwNtDtwalDSJdQBRXCrQrISzk9CjaitgDFzXgRj0314jUj\n" +
"MA7ZB5oQNMjAW1e1pYxPSL+tcX2Nl7V2QCYzBuLu9yVE2I0SSboMkKczqD2CnabO\n" +
"jAFRa5icVxoJMC8xNWx4F+Fi3oO8cYNm/+d7Cq0CgYBGbvCz2YMhWyX3JdTuuoq+\n" +
"mXsQoBHuxjmNjFZhIkRS8jARkTrWOq3+oqZDKugLoeUsoghYyzOFNSdB3H+968DE\n" +
"cMjfkaX+oL73mkxFnR1nJWyK8Nz8N98fGD+P1aYtr2b0JLory4Ocn59HE51VSRaR\n" +
"fcgtMWVg9qD5YJ49/nXDYQKBgDjzmYLVOa4FAK31fETpETy9LvM3x1UBckAaZsYS\n" +
"hQZbwL1H9I36HeyfiEZ/dXgtbfnLP6nd5RQ8CRVtRh3T2QFKUNLjB/NAomSho2Eo\n" +
"eO8HWsVTHalwdcvqjAQ1s5uU/sRcgGTRFNTk9TcjbbtmzaSDJ02Ra0xQiaODkbmi\n" +
"eD69AoGANXbTE+AUsZstQeLlGDP40Bn6lcxd4MjuxcMO9riLz9Dl1a2AqDdWpWFS\n" +
"NNqLtw2AfErjUXHsutXPTySGLN41QPFID3N3HEW4HxY5aKaecYeaJTFNzGYlE3As\n" +
"+0gaQ79zhrEJPZvOY/unSagkrLb8wU8pzD5MPk8dJD6utz7kQvk=\n" +
"-----END RSA PRIVATE KEY-----");
// console.log(key);
let decrypted = rs.KJUR.crypto.Cipher.decrypt(encrypted, key);
console.log(decrypted);