@guanghechen/helper-cipher-file v6.0.0-alpha.17
Utility functions for encrypt / decrypt files.
Install
npm
npm install --save @guanghechen/helper-cipher-fileyarn
yarn add @guanghechen/helper-cipher-file
Usage
FileCipherPathResolverimport 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'FileCipherPathResolverFileCipherimport { 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. |
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago