feat(core): added keylen and algo in pbkdf2 (attempt 2, i am retarded)
This commit is contained in:
parent
e98b8f8855
commit
a864eacfd4
1 changed files with 11 additions and 3 deletions
|
@ -4,11 +4,13 @@ import { factorizePQSync } from './factorization'
|
|||
|
||||
export interface IEncryptionScheme {
|
||||
encrypt(data: Buffer): MaybeAsync<Buffer>
|
||||
|
||||
decrypt(data: Buffer): MaybeAsync<Buffer>
|
||||
}
|
||||
|
||||
export interface IHashMethod {
|
||||
update(data: Buffer): MaybeAsync<void>
|
||||
|
||||
digest(): MaybeAsync<Buffer>
|
||||
}
|
||||
|
||||
|
@ -16,17 +18,24 @@ export interface ICryptoProvider {
|
|||
initialize?(): MaybeAsync<void>
|
||||
|
||||
sha1(data: Buffer): MaybeAsync<Buffer>
|
||||
|
||||
sha256(data: Buffer): MaybeAsync<Buffer>
|
||||
|
||||
pbkdf2(
|
||||
password: Buffer,
|
||||
salt: Buffer,
|
||||
iterations: number
|
||||
iterations: number,
|
||||
keylen?: number, // = 64
|
||||
algo?: string // sha1 or sha512 (default sha512)
|
||||
): MaybeAsync<Buffer>
|
||||
|
||||
hmacSha256(data: Buffer, key: Buffer): MaybeAsync<Buffer>
|
||||
|
||||
// in telegram, iv is always either used only once, or is the same for all calls for the key
|
||||
createAesCtr(key: Buffer, iv: Buffer, encrypt: boolean): IEncryptionScheme
|
||||
|
||||
createAesIge(key: Buffer, iv: Buffer): IEncryptionScheme
|
||||
|
||||
createAesEcb(key: Buffer): IEncryptionScheme
|
||||
|
||||
createMd5(): IHashMethod
|
||||
|
@ -53,13 +62,12 @@ export abstract class BaseCryptoProvider implements ICryptoProvider {
|
|||
|
||||
abstract createAesEcb(key: Buffer): IEncryptionScheme
|
||||
|
||||
// algo: sha1 or sha512 (default sha512)
|
||||
abstract pbkdf2(
|
||||
password: Buffer,
|
||||
salt: Buffer,
|
||||
iterations: number,
|
||||
keylen?: number, // = 64
|
||||
algo?: string
|
||||
algo?: string // sha1 or sha512 (default sha512)
|
||||
): MaybeAsync<Buffer>
|
||||
|
||||
abstract sha1(data: Buffer): MaybeAsync<Buffer>
|
||||
|
|
Loading…
Reference in a new issue