SphinxJS——把字符串编码成png图片的超轻量级开源库

写于 2016.09.13git

体验地址:jrainlau.github.io/sphinx/ 项目地址:github.com/jrainlau/sp…github

SphinxJS

一个可以把字符串编码成png图片,或者从png图片中解码出字符串的超轻量级开源库,总代码数甚至不超过100行!npm

使用方法

经过npm安装浏览器

npm install sphinx.js
复制代码

经过<script></script>标签引入bash

<script src="sphinx.js"></script>
复制代码

值得注意的是,由于SphinxJS使用了ES2015的Promise以及其余很棒的特性,这意味着须要你的浏览器提供支持。不然的话,你可能须要Babel或者一些别的工具去构建你的代码。工具

SphinxJS同时支持以AMDCommonJS以及ES6模块的方式进行引用。ui

编码

定义一个字符串Hello Sphinx!,咱们将对它进行编码编码

let base64URL = new Sphinx().encode('Hello Sphinx!')
复制代码

而后你将获得一串base64编码url

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAJklEQVQYV2P0SM35r8K1heE5owcDY2Zexf8dc1Yw/BdjYGBkQAIA+r4JjQKvLx4AAAAASUVORK5CYII=
复制代码

到这一步,编码便已经完成了。spa

正如你所看到的那样,encode()方法返回一张图片的base64编码。

解码

定义一串图片的url:

let url = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAJklEQVQYV2P0SM35r8K1heE5owcDY2Zexf8dc1Yw/BdjYGBkQAIA+r4JjQKvLx4AAAAASUVORK5CYII='
复制代码

而后咱们对其进行解码!

new Sphinx().decode(url)
    .then((info) => {
        console.log(info) // Hello Sphinx!
    })
复制代码

decode()方法会返回一个Promise对象,它包含了从图片中解密出来的字符串信息。

配置

new Sphinx()可以接收一个用于定义图片类型的配置对象

  • config {Object} 可选 默认值: {img: 'png'}
new Sphinx({img: 'bmp'})
复制代码

证书

MIT

相关文章
相关标签/搜索