Blowfish encryption in TypeScript with custom schedule
Inspired by egoroof-blowfish and melia
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
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.
Will decipher the buffer in place, altering the buffer passed as argument.
Will encipher the buffer in place, altering the buffer passed as argument.
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/>.