2026-05-12 00:06:02 +08:00
|
|
|
import { Inject, Provide, Scope, ScopeEnum } from '@midwayjs/core';
|
2025-01-14 00:54:30 +08:00
|
|
|
import { Encryptor, SysSecret, SysSettingsService } from '../../../system/index.js';
|
2024-08-27 13:46:19 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 授权
|
|
|
|
|
*/
|
|
|
|
|
@Provide()
|
2024-12-23 23:33:13 +08:00
|
|
|
@Scope(ScopeEnum.Singleton)
|
2024-08-27 13:46:19 +08:00
|
|
|
export class EncryptService {
|
2025-01-14 00:54:30 +08:00
|
|
|
encryptor: Encryptor;
|
2024-08-27 13:46:19 +08:00
|
|
|
|
|
|
|
|
@Inject()
|
|
|
|
|
sysSettingService: SysSettingsService;
|
|
|
|
|
|
2026-05-11 22:31:11 +08:00
|
|
|
async doInit() {
|
2024-12-26 23:15:35 +08:00
|
|
|
const secret: SysSecret = await this.sysSettingService.getSecret();
|
2025-01-14 00:54:30 +08:00
|
|
|
this.encryptor = new Encryptor(secret.encryptSecret);
|
2024-08-27 13:46:19 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 加密函数
|
|
|
|
|
encrypt(text: string) {
|
2025-01-14 00:54:30 +08:00
|
|
|
return this.encryptor.encrypt(text);
|
2024-08-27 13:46:19 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 解密函数
|
|
|
|
|
decrypt(encryptedText: string) {
|
2025-01-14 00:54:30 +08:00
|
|
|
return this.encryptor.decrypt(encryptedText);
|
2024-08-27 13:46:19 +08:00
|
|
|
}
|
|
|
|
|
}
|