@sighmir/blowfish
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

blowfish

NPM version Pipeline Status Coverage Status Sonarcloud Status Dependency Status Dev Dependency Status

Blowfish encryption in TypeScript with custom schedule

Inspired by egoroof-blowfish and melia

Example

import blowfish from "@sighmir/blowfish";

const bf = blowfish("my_key");
const buffer = Buffer.from("blowfish");

bf.encipher(buffer);
console.log(buffer); // c8a2de2a895325f5

bf.decipher(buffer);
console.log(buffer); // 626c6f7766697368

API

blowfish(key, schedule)

Create blowfish encryption object using specified key, if no key is provided it will use "blowfish" as the default key, if no schedule is provided it will use the default one used on the blowfish encryption algorithm, the schedule must be a Buffer of 1042 bytes, the first 18 bytes will fill P, the next 1024 will fill S with 4 Uint32Array of 256 bytes.

bf.decipher(buffer)

Will decipher the buffer in place, altering the buffer passed as argument.

bf.encipher(buffer)

Will encipher the buffer in place, altering the buffer passed as argument.

License

blowfish - Blowfish encryption in TypeScript with custom schedule
Copyright (C) 2020  Guilherme Caulada

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

Dependents (0)

Package Sidebar

Install

npm i @sighmir/blowfish

Weekly Downloads

2

Version

1.0.2

License

GPL-3.0

Unpacked Size

92.1 kB

Total Files

11

Last publish

Collaborators

  • sighmir