@lakutata/core
Version:
Lakutata Framework Core
33 lines (32 loc) • 1.34 kB
TypeScript
import { Plugin } from '../base/Plugin';
declare module '../Core' {
interface Application {
Security: Security;
}
}
export declare class Security extends Plugin {
private readonly JSON;
private readonly Crypto;
protected readonly saltRound: number;
protected stringifyData(data: any): string;
generateRandomString(length?: number, options?: {
numbers: boolean | string;
letters: boolean | string;
specials: boolean | string;
}): string;
MD5(data: any, key?: string): string;
SHA1(data: any, key?: string): string;
SHA3(data: any, key?: string): string;
SHA224(data: any, key?: string): string;
SHA256(data: any, key?: string): string;
SHA384(data: any, key?: string): string;
SHA512(data: any, key?: string): string;
encryptByPassword<T = any>(data: T, password: string): string;
decryptByPassword<T = any>(ciphertext: string, password: string): T;
encryptByKey<T = any>(data: T, secretKey: string): string;
decryptByKey<T = any>(ciphertext: string, secretKey: string): T;
generatePasswordHashSync(password: string): string;
generatePasswordHash(password: string): Promise<string>;
validatePasswordSync(password: string, hash: string): boolean;
validatePassword(password: string, hash: string): Promise<boolean>;
}