1.9.8 • Published 2 years ago

@guanghechen/cipher-helper v1.9.8

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Utility functions for cipher contents or files.

Install

  • npm

    npm install --save @guanghechen/cipher-helper
  • yarn

    yarn add @guanghechen/cipher-helper

Usage

  • AESCipherHelper

    import { AESCipherHelper } from '@guanghechen/cipher-helper'
    
    const cipher = new AESCipherHelper()  // Some options
    cipher.initFromSecret(cipher.createSecret())  // Or use password 
    
    // encrypt / decrypt
    cipher.encrypt(Buffer.from('plain data'))     // => Buffer
    cipher.decrypt(Buffer.from('cypher data'))    // => Buffer
    
    // encrypt / decrypt file
    cipher.encryptFile('plain.txt', 'cipher.txt')
    cipher.decryptFile('cipher.txt', 'plain.txt')
    
    // encrypt / decrypt files
    cipher.encryptFile(['plain1.txt', 'plain2.txt'], 'cipher.txt')
    cipher.decryptFile(['cipher1.txt', 'cipher2.txt'], 'plain.txt')
  • CipherCatalog

    import { AESCipherHelper, CipherCatalog } from '@guanghechen/cipher-helper'
    import path from 'path'
    
    const password = Buffer.from('password, such as `@guanghechen/cipher-helper`') 
    const cipher = new AESCipherHelper()
    cipher.initFromPassword(password)
    
    const catalog = new CipherCatalog({
      cipher,
      sourceRootDir: path.join(__dirname, 'workspace/source'),
      targetRootDir: path.join(__dirname, 'workspace/target'),
    })
    
    catalog.calcAbsoluteSourceFilepath('a.md')              // Resolve the absolute path of a source file.
    catalog.calcAbsoluteTargetFilepath('a.md')              // Resolve the absolute path of a target file.
    catalog.calcRelativeSourceFilepath('<WORKSPACE>/a.md')  // Resolve the relative path of the source file.
    catalog.calcRelativeTargetFilepath('<WORKSPACE>/a.md')  // Resolve the relative path of the target file.
    catalog.checkIntegrity()                                // Check if the index file is damaged.
    catalog.cleanup()                                       // Perform cleanup operations.
    catalog.decryptAll(bakSourceRootDir)                    // Decrypt all target files and output into the given directory.
    catalog.dump()                                          // Dump catalog states.
    catalog.isModified('a.md')                              // Test whether the given file has changed. (provide a simple filtering for continued operations)
    catalog.load(cipheredCatalogIndex)                      // Load states from ciphered data string
    catalog.loadFroMFile('catalog.txt')                     // Load states from index files.
    catalog.reset()                                         // Reset inner states.
    catalog.save('catalog.index.txt')                       // Dump catalog data and save into the index file.
    catalog.register(sourceFilepath)                        // Register a item into the catalog and perform some cleanup operations.
    catalog.touch()                                         // Synchronize the lastCheckTime.

Overview

NameDescription
calcFingerprintCalc fingerprint of Buffer contents
calcMacCalc mac (Message Authentication Code)
calcMacFromFileCalc mac (Message Authentication Code) from file
createRandomIvCreate random initial vector
createRandomKeyCreate random key of aes
destroyBufferFill buffer with a random number
destroyBuffersFill buffers with random numbers
streams2bufferMerge multiple read streams into Buffer serially
AESCipherHelperA CipherHelper implementation with AES algorithm.
CipherCatalogCatalog for managing source / target files and relationship maps
1.9.8

2 years ago

1.9.7

2 years ago

1.9.6

2 years ago

1.9.5

2 years ago

1.9.0-alpha.0

2 years ago

1.9.1

2 years ago

1.9.0

2 years ago

1.8.6

2 years ago

1.9.4

2 years ago

1.9.3

2 years ago

1.9.2

2 years ago

1.8.5

2 years ago

1.8.4

3 years ago

1.8.3

3 years ago

1.8.2

3 years ago

1.8.1

3 years ago

1.8.0

3 years ago

1.7.1

3 years ago

1.7.0

3 years ago

1.7.0-alpha.3

3 years ago

1.7.0-alpha.2

3 years ago

1.7.0-alpha.1

3 years ago

1.7.0-alpha.0

3 years ago