|
1 | 1 | // Reference: https://www.happ.su/main/developer-documentation/crypto-link#api-instructions |
2 | 2 | import { publicEncrypt } from 'node:crypto'; |
3 | 3 |
|
4 | | -const HAPP_PUBLIC_KEY_V3 = ` |
| 4 | +const HAPP_PUBLIC_KEY_V4 = ` |
5 | 5 | -----BEGIN PUBLIC KEY----- |
6 | | -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlBetA0wjbaj+h7oJ/d/h |
7 | | -pNrXvAcuhOdFGEFcfCxSWyLzWk4SAQ05gtaEGZyetTax2uqagi9HT6lapUSUe2S8 |
8 | | -nMLJf5K+LEs9TYrhhBdx/B0BGahA+lPJa7nUwp7WfUmSF4hir+xka5ApHjzkAQn6 |
9 | | -cdG6FKtSPgq1rYRPd1jRf2maEHwiP/e/jqdXLPP0SFBjWTMt/joUDgE7v/IGGB0L |
10 | | -Q7mGPAlgmxwUHVqP4bJnZ//5sNLxWMjtYHOYjaV+lixNSfhFM3MdBndjpkmgSfmg |
11 | | -D5uYQYDL29TDk6Eu+xetUEqry8ySPjUbNWdDXCglQWMxDGjaqYXMWgxBA1UKjUBW |
12 | | -wbgr5yKTJ7mTqhlYEC9D5V/LOnKd6pTSvaMxkHXwk8hBWvUNWAxzAf5JZ7EVE3jt |
13 | | -0j682+/hnmL/hymUE44yMG1gCcWvSpB3BTlKoMnl4yrTakmdkbASeFRkN3iMRewa |
14 | | -IenvMhzJh1fq7xwX94otdd5eLB2vRFavrnhOcN2JJAkKTnx9dwQwFpGEkg+8U613 |
15 | | -+Tfm/f82l56fFeoFN98dD2mUFLFZoeJ5CG81ZeXrH83niI0joX7rtoAZIPWzq3Y1 |
16 | | -Zb/Zq+kK2hSIhphY172Uvs8X2Qp2ac9UoTPM71tURsA9IvPNvUwSIo/aKlX5KE3I |
17 | | -VE0tje7twWXL5Gb1sfcXRzsCAwEAAQ== |
| 6 | +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA3UZ0M3L4K+WjM3vkbQnz |
| 7 | +ozHg/cRbEXvQ6i4A8RVN4OM3rK9kU01FdjyoIgywve8OEKsFnVwERZAQZ1Trv60B |
| 8 | +hmaM76QQEE+EUlIOL9EpwKWGtTL5lYC1sT9XJMNP3/CI0gP5wwQI88cY/xedpOEB |
| 9 | +W72EmOOShHUm/b/3m+HPmqwc4ugKj5zWV5SyiT829aFA5DxSjmIIFBAms7DafmSq |
| 10 | +LFTYIQL5cShDY2u+/sqyAw9yZIOoqW2TFIgIHhLPWek/ocDU7zyOrlu1E0SmcQQb |
| 11 | +LFqHq02fsnH6IcqTv3N5Adb/CkZDDQ6HvQVBmqbKZKf7ZdXkqsc/Zw27xhG7OfXC |
| 12 | +tUmWsiL7zA+KoTd3avyOh93Q9ju4UQsHthL3Gs4vECYOCS9dsXXSHEY/1ngU/hjO |
| 13 | +WFF8QEE/rYV6nA4PTyUvo5RsctSQL/9DJX7XNh3zngvif8LsCN2MPvx6X+zLouBX |
| 14 | +zgBkQ9DFfZAGLWf9TR7KVjZC/3NsuUCDoAOcpmN8pENBbeB0puiKMMWSvll36+2M |
| 15 | +YR1Xs0MgT8Y9TwhE2+TnnTJOhzmHi/BxiUlY/w2E0s4ax9GHAmX0wyF4zeV7kDkc |
| 16 | +vHuEdc0d7vDmdw0oqCqWj0Xwq86HfORu6tm1A8uRATjb4SzjTKclKuoElVAVa5Jo |
| 17 | +oh/uZMozC65SmDw+N5p6Su8CAwEAAQ== |
18 | 18 | -----END PUBLIC KEY----- |
19 | 19 | `; |
20 | 20 |
|
21 | 21 | export function createHappCryptoLink(content: string): string { |
22 | 22 | try { |
23 | 23 | const options = { |
24 | | - key: HAPP_PUBLIC_KEY_V3, |
| 24 | + key: HAPP_PUBLIC_KEY_V4, |
25 | 25 | padding: 1, // RSA_PKCS1_PADDING |
26 | 26 | }; |
27 | 27 |
|
28 | 28 | const encrypted = publicEncrypt(options, Buffer.from(content)); |
29 | | - const prefix = 'happ://crypt3/'; |
| 29 | + const prefix = 'happ://crypt4/'; |
30 | 30 | return prefix + encrypted.toString('base64'); |
31 | 31 | } catch { |
32 | 32 | return ''; |
|
0 commit comments