Skip to content

πŸ”‘ Pixel-level image crypting library

License

Notifications You must be signed in to change notification settings

KawaiiLab/sagiri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”‘ En/decrypt images in a kawaii way

Author Version License


Installation

npm install @kawaiilab/sagiri

Usage

En/decrypt a single image

const ctx = canvas.getContext('2d')

const img = await loadImage(imageData)
ctx.drawImage(img, 0, 0)
imgData = ctx.getImageData(0, 0, width, height)

sagiri.encrypt(imgData, ctx, key)
// sagiri.decrypt(imgData, ctx, key)

const out = fs.createWriteStream(__dirname + '/output.png')
const stream = canvas.createPNGStream()
stream.pipe(out)
out.on('finish', () =>  console.log('Finished.'))

API

sagiri.encrypt(imgData: ImageData, ctx: CanvasRenderingContext2D, key: String)

Performance

Encrypt ./example/01-input.png (1920β€ŠΓ—β€Š1080)
Max: 539ms
Avg: 528ms
Min: 501ms

Decrypt: ./example/02-input.png (1920β€ŠΓ—β€Š1080)
Max: 464ms
Avg: 468ms
Min: 475ms

Examples

Have look at ./example folder

Related

kawaiilab/sagiri-cli

kawaiilab/sagiri-web

Credit

Tharsanan1/ImageEncryptionWeb

Illustration: γ‚¨γƒ­γƒžγƒ³γ‚¬ε…ˆη”Ÿ!!!

Name

Sagiri Izumi from Eromanga-sensei

LICENSE

MIT