kaven-utils
Version:
Utils for Node.js.
36 lines (35 loc) • 1.95 kB
TypeScript
/********************************************************************
* @author: Kaven
* @email: kaven@wuwenkai.com
* @website: http://blog.kaven.xyz
* @file: [Kaven-Utils] /src/KavenRSA.ts
* @create: 2020-07-10 13:39:53.988
* @modify: 2024-11-01 10:48:07.329
* @version: 5.4.5
* @times: 29
* @lines: 232
* @copyright: Copyright © 2020-2024 Kaven. All Rights Reserved.
* @description: [description]
* @license: [license]
********************************************************************/
/**
* crypto wrap
* @since 2.0.8
* @version 2020-07-10
*/
export declare class KavenRSA {
readonly PublicKey: string | undefined;
readonly PrivateKey: string | undefined;
constructor(publicKey?: string, privateKey?: string);
static Create(bits?: number, exponent?: number): KavenRSA;
Encrypt(data: Buffer, padding?: number, oaepHash?: string): NonSharedBuffer;
Decrypt(data: Buffer, padding?: number, oaepHash?: string): NonSharedBuffer;
Sign(data: Buffer, algorithm?: string, padding?: number, saltLength?: number): NonSharedBuffer;
Verify(data: Buffer, signature: Buffer, algorithm?: string, padding?: number, saltLength?: number): boolean;
EncryptToString<T>(data: T, encoding?: BufferEncoding, padding?: number, oaepHash?: string): string;
DecryptFromString<T = unknown>(data: string, encoding?: BufferEncoding, padding?: number, oaepHash?: string): T;
SignToString<T>(data: T, encoding?: BufferEncoding, algorithm?: string, padding?: number, saltLength?: number): string;
VerifyFromString<T>(data: T, signature: string, encoding?: BufferEncoding, algorithm?: string, padding?: number, saltLength?: number): boolean;
EncryptBigData<T>(data: T, encoding?: BufferEncoding, padding?: number, oaepHash?: string): string;
DecryptBigData<T = unknown>(data: string, encoding?: BufferEncoding, padding?: number, oaepHash?: string): T;
}