SphinxJS
一个能够把字符串加密成png图片,或者从png图片解密出字符串的超轻量级开源库,总代码数甚至不超过100行!
使用方法
通过npm
安装
npm install sphinx.js
通过标签引入
值得注意的是,因为
SphinxJS
使用了ES2015的Promise
以及其他很棒的特性,这意味着需要你的浏览器提供支持。否则的话,你可能需要Babel
或者一些别的工具去构建你的代码。
SphinxJS
同时支持以AMD
,CommonJS
以及ES6模块
的方式进行引用。
加密
定义一个字符串Hello Sphinx!
,我们将对它进行加密
let base64URL = new Sphinx().encrypt('Hello Sphinx!')
然后你将得到一串base64
编码
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAJklEQVQYV2P0SM35r8K1heE5owcDY2Zexf8dc1Yw/BdjYGBkQAIA+r4JjQKvLx4AAAAASUVORK5CYII=
到这一步,加密便已经完成了。
正如你所看到的那样,encrypt()
方法返回一张图片的base64
编码。
Decrypt
定义一串图片的url:
let url = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAJklEQVQYV2P0SM35r8K1heE5owcDY2Zexf8dc1Yw/BdjYGBkQAIA+r4JjQKvLx4AAAAASUVORK5CYII='
然后我们对其进行解密!
new Sphinx().decrypt(url)
.then((info) => {
console.log(info) // Hello Sphinx!
})
decrypt()
方法会返回一个Promise
对象,它包含了从图片中解密出来的字符串信息。
配置
new Sphinx()
能够接收一个用于定义图片类型的配置对象
config {Object}
可选
默认值:{img: 'png'}
new Sphinx({img: 'bmp'})
证书
MIT