gulp-sha v0.2.1
gulp-sha

Library to handle SHA with gulp
Gulp plugin for hashing using popular SHA algorithms.
Information
| Package | gulp-sha |
|---|---|
| Version | v0.2.1 |
| Node Version Supported | >= 0.10.0 |
| Gulp Version Supported | 4.x |
| Author | @computnik |
Usage
Install
npm install gulp-sha --save-devThen, add it into your gulpfile.js:
Examples
Input
The following is in the inputfile
This is a dummy FileGulpFile
var gulp = require("gulp");
var gulpSHA = require("gulp-sha");
var inputFile="./inputFile"; // Path to input File
var outputDir="./"; // Path to Output directory
var options = {
hashType: "SHA-256",
numRounds: 2,
useHmac: true,
hmacKey: "abc"
};
gulp.src(inputFile)
.pipe(gulpSHA(options))
.pipe(gulp.dest(outputDir));Output Generated
c7716ed373d76c4a1a4f8c1b622c6955838cab6fd2260824845dc599bd03a5b0API
gulp-sha(options)
options.hashType
Type: String
Default: SHA-256
Valid Options: SHA-1, SHA-224, SHA3-224, SHA-256, SHA3-256, SHA-384, SHA3-384, SHA-512, SHA3-512, SHAKE128 or SHAKE256
Type of Hashing Algorithm. This should be any one of the available values
options.encoding
Type: String
Default: UTF8
Valid Options: UTF8, UTF16BE or UTF16LE
Type of Encoding. It specifies the encoding used to encode TEXT-type inputs
options.inputType
Type: String
Default: TEXT
Valid Options: HEX, TEXT, B64, BYTES, or ARRAYBUFFER
This is type of input provided. It can take any of the possible values above.
options.outputType
Type: String
Default: HEX
Valid Options: HEX, TEXT, B64, BYTES, or ARRAYBUFFER
Similar to inputType, specifies the format of output generated
options.numRounds
Type: Integer
Default: 1
Number of rounds for hashing.
options.useHmac
Type: Boolean
Default: false
Valid Options: true or false
Flag to enable HMAC aka Hash-based Message Authentication Code.
options.HMACKey
Type: String
Default: ""
HMAC Key. This needs to be set along with useHmac flag, to set a HMAC key.
options.HMACType
Type: String
Default: TEXT
Valid Options: HEX, TEXT, B64, BYTES, or ARRAYBUFFER
Type of HMAC Key, similar to inputType.
options.outputUpper
Type: Boolean
Default: false
This option is intelligently interpreted based upon the chosen output format, by jssha library.
options.b64Pad
Type: String
Default: =
This option is intelligently interpreted based upon the chosen output format, by jssha library.
options.shakeLen
Type: Integer
Default: 0
This option is required for SHAKE type of hashing algorithms.
Important:
SHAKE128 and SHAKE256 require shakeLen to be included in the hashmap whereshakeLen is the desired output length of the SHAKE algorithm in a multiple of 8 bits.
Additional Info
gulp-sha uses jssha. More information about Algorithms can be found there.