/// import NodeRSA from 'node-rsa'; export declare type EncryptionSchemeType = NodeRSA.EncryptionScheme | NodeRSA.AdvancedEncryptionScheme; export declare class RsaAesServer { static server: { [size: number]: NodeRSA; }; static getServerNode(size: number): NodeRSA; private AZaz09; private option; private algorithmOption; /** * 初始化一个密钥流程 * @param size 密钥长度 * @param encryptionScheme 如果是提供给 web的 jsencrypt使用需要填 pkcs1 * @param bSameServer 是否使用统一的服务端私钥,这会大大加速公钥的获取速度 */ constructor(size?: number, encryptionScheme?: EncryptionSchemeType, bSameServer?: boolean); loadAesKey(key: string, algorithm?: string): void; loadAes(aes: any): void; private _parseAlgorithm; private randWord; private useKeys; private generateRsa; private loadPublicRsa; private generateDes; getAesKey(): { algorithm: string; key: string; autoPadding: boolean; } | undefined; /** * 第一步,提供公钥给客户端 * @param format */ stepOne(format?: NodeRSA.FormatPem): string; /** * 接收客户端使用公钥加密过的新的公钥,然后返回 加密的 aes 密钥信息 * @param data * @param format * @param encryptionScheme */ stepTwo(data: Buffer, format?: NodeRSA.Format, encryptionScheme?: EncryptionSchemeType): Buffer; testDecrypt(type: 'server' | 'client', wds: Buffer): Buffer; testEncrypt(type: 'server' | 'client', wds: Buffer): Buffer; encode(data: string): { encryptedData: string; iv: string | null; }; decode(encryptedData: string, iv?: string | null): string; }