@guanghechen/helper-cipher-file
v6.0.0-alpha.17
Published
Utility functions for encrypt / decrypt files.
Downloads
13
Readme
Utility functions for encrypt / decrypt files.
Install
npm
npm install --save @guanghechen/helper-cipher-file
yarn
yarn add @guanghechen/helper-cipher-file
Usage
FileCipherPathResolver
import path from 'node:path' import url from 'node:url' import { FileCipherPathResolver } from '@guanghechen/helper-cipher-file' const __dirname = path.dirname(url.fileURLToPath(import.meta.url)) const sourceRootDir = path.join(__dirname, 'src') const encryptedRootDir = path.join(__dirname, 'lib') const pathResolver = new FileCipherPathResolver({ sourceRootDir, encryptedRootDir }) // calcAbsoluteSourceFilepath pathResolver.calcAbsoluteSourceFilepath('waw.txt') // => path.join(sourceRootDir, 'waw.txt') // calcAbsoluteEncryptedFilepath pathResolver.calcAbsoluteEncryptedFilepath('waw.txt') // => path.join(encryptedRootDir, 'waw.txt') // calcRelativeSourceFilepath pathResolver.calcRelativeSourceFilepath(path.join(sourceRootDir, 'waw.txt')) // => 'waw.txt' // calcRelativeEncryptedFilepath pathResolver.calcRelativeEncryptedFilepath(path.join(encryptedRootDir, 'waw.txt')) // => 'waw.txt'
FileCipherPathResolver
FileCipher
import { ChalkLogger } from '@guanghechen/chalk-logger' import { AesCipherFactory } from '@guanghechen/helper-cipher' import { FileCipherFactory } from '@guanghechen/helper-cipher-file' const logger = new ChalkLogger({ flights: { colorful: false, date: false } }) const cipherFactory = new AesCipherFactory() const fileCipherFactory = new FileCipherFactory({ cipherFactory, logger }) const fileCipher = fileCipherFactory.fileCipher() // Encrypt multiple files and concatenate the encrypted contents. const encryptedContent: Buffer = await fileCipher.encryptFromFiles([sourceFilepath, sourceFilepath2, ...]) // Encrypt multiple files and concatenate the decrypted contents. const decryptedContent: Buffer = await fileCipher.decryptFromFiles([encryptedFilepath1, encryptedFilepath2, ...]) // Encrypt multiple files and write the concatenated encrypted contents into another file. await fileCipher.encryptFile([sourceFilepath1, sourceFilepath2, ...], outputFilepath) // Decrypt multiple files and write the concatenated decrypted contents into another file. await fileCipher.decryptFiles([encryptedFilepath1, encryptedFilepath2, ...], outputFilepath) // Decrypt file and write the encrypted content into another file. await fileCipher.encryptFiles([sourceFilepath1, sourceFilepath2, ...], outputFilepath) // Decrypt file and write the encrypted content into another file. await fileCipher.decryptFiles([encryptedFilepath1, encryptedFilepath2, ...], outputFilepath)
Overview
Name | Description :------------------------:|:----------------------------: FileCipher | Encrypt / Decrypt files. FileCipherCatalog | Encrypt / Decrypt files with catalog./home/lemon/ws/guanghechen/sora/packages/mac/src FileCipherPathResolver | Resolve the relative / absolute filepaths. calcFileCipherCatalogItem | diffFileCipherItems | areSameCatalogItem | normalizeSourceFilepath | calcMacFromFile | Calc mac (Message Authentication Code) from fle. calcFingerprintFromMac | Calc fingerprint from mac. calcFingerprintFromString | Calc fingerprint from literal string. calcFingerprintFromFile | Calc fingerprint from file.